2021-12-07 20:16:03 -08:00
|
|
|
C++ API
|
2021-04-20 23:10:38 +02:00
|
|
|
=====================
|
|
|
|
|
|
2024-07-12 09:17:06 -07:00
|
|
|
The C++ API is the primary interface for cvc5 and exposes the full
|
|
|
|
|
functionality of cvc5.
|
2024-07-12 11:05:13 -07:00
|
|
|
|
2024-07-12 09:17:06 -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
|
2024-07-12 11:05:13 -07:00
|
|
|
exceptions/exceptions
|
|
|
|
|
classes/command
|
|
|
|
|
classes/datatype
|
|
|
|
|
classes/datatypeconstructor
|
|
|
|
|
classes/datatypeconstructordecl
|
|
|
|
|
classes/datatypedecl
|
|
|
|
|
classes/datatypeselector
|
|
|
|
|
classes/driveroptions
|
|
|
|
|
classes/grammar
|
|
|
|
|
classes/inputparser
|
|
|
|
|
enums/kind
|
|
|
|
|
enums/modes
|
|
|
|
|
classes/op
|
|
|
|
|
classes/optioninfo
|
2024-07-16 14:43:47 -07:00
|
|
|
classes/plugin
|
2024-07-16 16:07:30 -07:00
|
|
|
classes/proof
|
2024-07-12 11:05:13 -07:00
|
|
|
classes/result
|
|
|
|
|
enums/roundingmode
|
|
|
|
|
classes/solver
|
|
|
|
|
classes/sort
|
|
|
|
|
enums/sortkind
|
|
|
|
|
classes/statistics
|
|
|
|
|
classes/symbolmanager
|
|
|
|
|
classes/synthresult
|
|
|
|
|
classes/term
|
|
|
|
|
classes/termmanager
|
|
|
|
|
enums/unknownexplanation
|
2021-11-11 18:27:53 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
Class hierarchy
|
|
|
|
|
^^^^^^^^^^^^^^^
|
|
|
|
|
|
2022-03-30 19:30:21 -07:00
|
|
|
``namespace cvc5 {``
|
|
|
|
|
* class :cpp:class:`CVC5ApiException <cvc5::CVC5ApiException>`
|
|
|
|
|
* class :cpp:class:`CVC5ApiRecoverableException <cvc5::CVC5ApiRecoverableException>`
|
2024-07-12 11:05:13 -07:00
|
|
|
|
|
|
|
|
* class :doc:`classes/datatype`
|
2021-11-11 18:27:53 -08:00
|
|
|
|
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
|
|
|
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :doc:`classes/datatypeconstructor`
|
2021-11-11 18:27:53 -08:00
|
|
|
|
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
|
|
|
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :doc:`classes/datatypeconstructordecl`
|
|
|
|
|
* class :doc:`classes/datatypedecl`
|
|
|
|
|
* class :doc:`classes/datatypeselector`
|
|
|
|
|
* class :doc:`classes/driveroptions`
|
|
|
|
|
* class :doc:`classes/grammar`
|
|
|
|
|
* class :doc:`classes/op`
|
|
|
|
|
* class :doc:`classes/optioninfo`
|
2024-07-16 16:07:30 -07:00
|
|
|
* class :doc:`classes/proof`
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :doc:`classes/result`
|
2024-07-16 14:43:47 -07:00
|
|
|
* class :doc:`classes/plugin`
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :doc:`classes/termmanager`
|
|
|
|
|
* class :doc:`classes/solver`
|
|
|
|
|
* class :doc:`classes/sort`
|
2022-03-30 19:30:21 -07:00
|
|
|
* class :cpp:class:`Stat <cvc5::Stat>`
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :doc:`classes/statistics`
|
|
|
|
|
* class :doc:`classes/synthresult`
|
|
|
|
|
* class :doc:`classes/term`
|
2021-11-11 18:27:53 -08:00
|
|
|
|
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
|
|
|
|
2024-07-12 11:05:13 -07:00
|
|
|
* enum class :doc:`enums/kind`
|
|
|
|
|
* enum class :doc:`enums/sortkind`
|
|
|
|
|
* enum class :doc:`enums/roundingmode`
|
|
|
|
|
* enum class :doc:`enums/unknownexplanation`
|
2025-08-23 17:10:09 -05:00
|
|
|
|
|
|
|
|
* enum classes for :doc:`proof rules <enums/proofrule>`
|
|
|
|
|
|
|
|
|
|
* enum class :cpp:enum:`ProofRule <cvc5::ProofRule>`
|
|
|
|
|
* enum class :cpp:enum:`ProofRewriteRule <cvc5::ProofRewriteRule>`
|
2023-09-11 09:31:57 -07:00
|
|
|
|
|
|
|
|
``namespace modes {``
|
2024-07-12 11:05:13 -07:00
|
|
|
* enum classes for :doc:`configuration modes <enums/modes>`
|
2023-09-11 09:31:57 -07:00
|
|
|
|
|
|
|
|
* enum class for :cpp:enum:`cvc5::modes::BlockModelsMode`
|
|
|
|
|
* enum class for :cpp:enum:`cvc5::modes::LearnedLitType`
|
2025-07-03 15:23:04 -07:00
|
|
|
* enum class for :cpp:enum:`cvc5::modes::FindSynthTarget`
|
|
|
|
|
* enum class for :cpp:enum:`cvc5::modes::OptionCategory`
|
2023-09-11 09:31:57 -07:00
|
|
|
* enum class for :cpp:enum:`cvc5::modes::ProofComponent`
|
2024-07-12 09:17:06 -07:00
|
|
|
* enum class for :cpp:enum:`cvc5::modes::ProofFormat`
|
2024-07-12 09:16:47 -07:00
|
|
|
|
2023-09-11 09:31:57 -07:00
|
|
|
``}``
|
2022-03-31 23:09:38 -07:00
|
|
|
|
2023-11-28 11:53:30 -06:00
|
|
|
``namespace parser {``
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :cpp:class:`ParserException <cvc5::parser::ParserException>`
|
2024-04-01 14:12:16 -07:00
|
|
|
|
2023-11-28 11:53:30 -06:00
|
|
|
* class :cpp:class:`Command <cvc5::parser::Command>`
|
2024-07-12 11:05:13 -07:00
|
|
|
* class :doc:`classes/inputparser`
|
2023-11-28 11:53:30 -06:00
|
|
|
* class :cpp:class:`SymbolManager <cvc5::parser::SymbolManager>`
|
2024-07-12 09:16:47 -07:00
|
|
|
|
2023-11-28 11:53:30 -06:00
|
|
|
``}``
|
|
|
|
|
|
2022-03-23 16:56:33 -05:00
|
|
|
``}``
|