Term ==== The :cpp:class:`Term ` class represents an arbitrary expression of any of the supported sorts. The list of all supported kinds of terms is given by the :cpp:enum:`Kind ` enum. The :cpp:class:`Term ` class provides functions for general inspection (e.g., comparison, retrieving the kind and sort, accessing sub-terms), but also functions for retrieving constant values for the supported theories (i.e., :code:`isValue()` and :code:`getValue()`, which returns the constant values in the best type standard C++ offers). Additionally, a :cpp:class:`Term ` can be hashed (using :cpp:class:`std::hash\`) and given to output streams, including terms within standard containers like :code:`std::map`, :code:`std::set`, or :code:`std::vector`. The :cpp:class:`Term ` only offers the default constructor to create a null term. Instead, the :cpp:class:`TermManager ` class provides factory functions to create terms, e.g., :cpp:func:`TermManager::mkTerm() ` for generic terms and :code:`TermManager::mk()` for constants, variables and values of a given type. ---- - class :cpp:class:`cvc5::Term` - :cpp:func:`std::ostream& cvc5::operator<< (std::ostream& out, const Term& t)` - :cpp:func:`std::ostream& cvc5::operator<< (std::ostream& out, const std::vector& vector)` - :cpp:func:`std::ostream& cvc5::operator<< (std::ostream& out, const std::set& set)` - :cpp:func:`std::ostream& cvc5::operator<< (std::ostream& out, const std::unordered_set& set)` - :cpp:func:`template std::ostream& cvc5::operator<< (std::ostream& out, const std::map& map)` - :cpp:func:`template std::ostream& cvc5::operator<< (std::ostream& out, const std::unordered_map& map)` - :cpp:struct:`std::hash\` ---- .. doxygenclass:: cvc5::Term :project: cvc5 :members: :undoc-members: ---- .. doxygenfunction:: cvc5::operator<<(std::ostream& out, const Term& t) :project: cvc5 .. doxygenfunction:: cvc5::operator<<(std::ostream& out, const std::vector& vector) :project: cvc5 .. doxygenfunction:: cvc5::operator<<(std::ostream& out, const std::set& set) :project: cvc5 .. doxygenfunction:: cvc5::operator<<(std::ostream& out, const std::unordered_set& set) :project: cvc5 .. doxygenfunction:: cvc5::operator<<(std::ostream& out, const std::map& map) :project: cvc5 .. doxygenfunction:: cvc5::operator<<(std::ostream& out, const std::unordered_map& map) :project: cvc5 ---- .. doxygenstruct:: std::hash< cvc5::Term > :project: std :members: :undoc-members: