C++ Interface
=============

This section provides a detailed description of the :doc:`C++ API <api>`,
the primary API of Bitwuzla.
For an introduction on how to use the C++ API, refer to the
:ref:`quickstart <cpp/api:quickstart>` guide. A comprehensive set of
:ref:`examples <cpp/api:examples>` covers basic and common use cases.

.. container:: hide-toctree

  .. toctree::
     :hidden:

     classes/bitwuzla
     classes/exception
     enums/kind
     enums/option
     classes/options
     classes/optioninfo
     classes/parser
     enums/result
     enums/roundingmode
     classes/satsolver
     classes/satsolverfactory
     classes/sort
     classes/term
     classes/termmanager
     classes/terminator
     library_info

:code:`namespace bitwuzla {`

Classes
-------

- class :doc:`classes/options`
- class :doc:`classes/optioninfo`
- class :doc:`classes/termmanager`
- class :doc:`classes/bitwuzla`
- class :doc:`classes/satsolver`
- class :doc:`classes/satsolverfactory`
- class :doc:`classes/sort`
- class :doc:`classes/term`
- class :doc:`classes/parser`
- class :doc:`classes/exception`
- class :doc:`classes/terminator`

Enums
-----

- enum class :doc:`enums/kind`
- enum class :doc:`enums/option`
- enum class :doc:`enums/result`
- enum class :doc:`enums/roundingmode`

Functions
---------

- :doc:`library_info`

:code:`}`
