2021-12-07 20:16:03 -08:00
C++ API
2021-04-20 23:10:38 +02:00
=====================
2021-11-11 18:27:53 -08:00
The C++ API is the primary interface for cvc5 and exposes the full functionality of cvc5.
2022-03-30 19:30:21 -07:00
The :doc: `quickstart guide <quickstart>` gives a short introduction, while the following class hierarchy of the `` cvc5 `` namespace provides more details on the individual classes.
For most applications, the :cpp:class: `Solver <cvc5::Solver>` class is the main entry point to cvc5.
2021-04-20 23:10:38 +02:00
2021-06-21 15:46:07 -07:00
.. container :: hide-toctree
.. toctree ::
2021-11-11 18:27:53 -08:00
quickstart
exceptions
2021-06-21 15:46:07 -07:00
datatype
datatypeconstructor
datatypeconstructordecl
datatypedecl
datatypeselector
2022-03-31 06:40:10 +02:00
driveroptions
2021-06-21 15:46:07 -07:00
grammar
kind
2022-03-31 23:09:38 -07:00
modes
2021-06-21 15:46:07 -07:00
op
2021-08-30 16:55:58 -07:00
optioninfo
2021-06-21 15:46:07 -07:00
result
roundingmode
solver
sort
2023-09-11 09:31:57 -07:00
sortkind
2021-06-21 15:46:07 -07:00
statistics
2022-03-23 16:56:33 -05:00
synthresult
2021-06-21 15:46:07 -07:00
term
2022-04-01 15:53:53 -07:00
unknownexplanation
2021-11-11 18:27:53 -08:00
Class hierarchy
^^^^^^^^^^^^^^^
2022-03-30 19:30:21 -07:00
`` namespace cvc5 { ``
2022-03-23 16:56:33 -05:00
2022-03-30 19:30:21 -07:00
* class :cpp:class: `CVC5ApiException <cvc5::CVC5ApiException>`
* class :cpp:class: `CVC5ApiRecoverableException <cvc5::CVC5ApiRecoverableException>`
2021-11-11 18:27:53 -08:00
* class :ref: `api/cpp/datatype:datatype`
2022-03-30 19:30:21 -07:00
* class :cpp:class: `const_iterator <cvc5::Datatype::const_iterator>`
2021-11-11 18:27:53 -08:00
* class :ref: `api/cpp/datatypeconstructor:datatypeconstructor`
2022-03-30 19:30:21 -07:00
* class :cpp:class: `const_iterator <cvc5::DatatypeConstructor::const_iterator>`
2021-11-11 18:27:53 -08:00
* class :ref: `api/cpp/datatypeconstructordecl:datatypeconstructordecl`
* class :ref: `api/cpp/datatypedecl:datatypedecl`
* class :ref: `api/cpp/datatypeselector:datatypeselector`
2022-03-31 06:40:10 +02:00
* class :ref: `api/cpp/driveroptions:driveroptions`
2023-11-28 11:53:30 -06:00
* class :ref: `api/cpp/grammar:grammar`
2021-11-11 18:27:53 -08:00
* class :ref: `api/cpp/op:op`
* class :ref: `api/cpp/optioninfo:optioninfo`
* class :ref: `api/cpp/result:result`
* class :ref: `api/cpp/solver:solver`
* class :ref: `api/cpp/sort:sort`
2022-03-30 19:30:21 -07:00
* class :cpp:class: `Stat <cvc5::Stat>`
2023-11-28 11:53:30 -06:00
* class :cpp:class: `Statistics <cvc5::Statistics>`
2022-03-23 16:56:33 -05:00
* class :ref: `api/cpp/synthresult:synthresult`
2021-11-11 18:27:53 -08:00
* class :ref: `api/cpp/term:term`
2022-03-30 19:30:21 -07:00
* class :cpp:class: `const_iterator <cvc5::Term::const_iterator>`
2021-11-11 18:27:53 -08:00
2023-09-11 09:31:57 -07:00
* enum class :ref: `api/cpp/kind:kind`
* enum class :ref: `api/cpp/sortkind:sortkind`
* enum class :ref: `api/cpp/roundingmode:roundingmode`
* enum class :ref: `api/cpp/unknownexplanation:unknownexplanation`
`` namespace modes { ``
* enum classes for :ref: `configuration modes<api/cpp/modes:modes>`
* enum class for :cpp:enum: `cvc5::modes::BlockModelsMode`
* enum class for :cpp:enum: `cvc5::modes::LearnedLitType`
* enum class for :cpp:enum: `cvc5::modes::ProofComponent`
* enum class for :cpp:enum: `cvc5::modes::FindSynthTarget`
`` } ``
2022-03-31 23:09:38 -07:00
2023-11-28 11:53:30 -06:00
`` namespace parser { ``
* class :cpp:class: `Command <cvc5::parser::Command>`
* class :ref: `api/cpp/inputparser:inputparser`
* class :cpp:class: `ParserException <cvc5::parser::ParserException>`
* class :cpp:class: `SymbolManager <cvc5::parser::SymbolManager>`
`` } ``
2022-03-23 16:56:33 -05:00
`` } ``