Files
cvc5/docs/api/cpp/cpp.rst
Gereon Kremer 881464ade1 Turn kinds in python API into a proper Enum (#7686)
This PR does multiple things:
- the kinds are changed from custom objects to a proper enum.Enum class
  (including according changes to the cython code and the kind generation scripts)
- all examples and tests are modified to account for the change how to use kinds
  (Kind instead of kinds)
- add docstrings to the kind enum values
- add a custom documenter that properly renders enums via autodoc
- extend doxygen setup so that we can write comments as rst (allowing us to copy
  the documentation for kinds from the cpp api to the other apis)
2021-12-08 04:16:03 +00:00

67 lines
2.0 KiB
ReStructuredText

C++ API
=====================
The C++ API is the primary interface for cvc5 and exposes the full functionality of cvc5.
The :doc:`quickstart guide <quickstart>` gives a short introduction, while the following class hierarchy of the ``cvc5::api`` namespace provides more details on the individual classes.
For most applications, the :cpp:class:`Solver <cvc5::api::Solver>` class is the main entry point to cvc5.
.. container:: hide-toctree
.. toctree::
quickstart
exceptions
datatype
datatypeconstructor
datatypeconstructordecl
datatypedecl
datatypeselector
grammar
kind
op
optioninfo
result
roundingmode
solver
sort
statistics
term
Class hierarchy
^^^^^^^^^^^^^^^
``namespace cvc5::api {``
* class :cpp:class:`CVC5ApiException <cvc5::api::CVC5ApiException>`
* class :cpp:class:`CVC5ApiRecoverableException <cvc5::api::CVC5ApiRecoverableException>`
* class :ref:`api/cpp/datatype:datatype`
* class :cpp:class:`const_iterator <cvc5::api::Datatype::const_iterator>`
* class :ref:`api/cpp/datatypeconstructor:datatypeconstructor`
* class :cpp:class:`const_iterator <cvc5::api::DatatypeConstructor::const_iterator>`
* class :ref:`api/cpp/datatypeconstructordecl:datatypeconstructordecl`
* class :ref:`api/cpp/datatypedecl:datatypedecl`
* class :ref:`api/cpp/datatypeselector:datatypeselector`
* class :ref:`api/cpp/grammar:grammar`
* class :ref:`api/cpp/kind:kind`
* class :ref:`api/cpp/op:op`
* class :ref:`api/cpp/optioninfo:optioninfo`
* class :ref:`api/cpp/result:result`
* enum :cpp:enum:`UnknownExplanation <cvc5::api::Result::UnknownExplanation>`
* class :ref:`api/cpp/roundingmode:roundingmode`
* class :ref:`api/cpp/solver:solver`
* class :ref:`api/cpp/sort:sort`
* class :cpp:class:`Stat <cvc5::api::Stat>`
* class :cpp:class:`Statistics <cvc5::api::Statistics>`
* class :ref:`api/cpp/term:term`
* class :cpp:class:`const_iterator <cvc5::api::Term::const_iterator>`
``}``