cvc5-cvc5-1.2.0.docs.api.cpp.classes.op.rst Maven / Gradle / Ivy
The newest version!
Op
==
This class encapsulates a cvc5 operator. A :cpp:class:`cvc5::Op` is a term that
represents an operator, instantiated with the parameters it requires (if any).
A :cpp:class:`cvc5::Term` of operator kind that does not require additional
parameters, e.g., :cpp:enumerator:`cvc5::Kind::ADD`, is usually constructed via
:cpp:func:`cvc5::Solver::mkTerm(Kind kind, const std::vector\& children) & children) const>`.
Alternatively, any :cpp:class:`cvc5::Term` can be constructed via first
instantiating a corresponding :cpp:class:`cvc5::Op`, even if the operator does
not require additional parameters.
Terms with operators that require additional parameters, e.g.,
:cpp:enumerator:`cvc5::Kind::BITVECTOR_EXTRACT`, must be created via
:cpp:func:`cvc5::TermManager::mkOp()` and
:cpp:func:`cvc5::TermManager::mkTerm(const Op& op, const std::vector\& children) & children)>`.
----
- class :cpp:class:`cvc5::Op`
- :cpp:func:`std::ostream& cvc5::operator<< (std::ostream& out, const Op& op)`
- :cpp:struct:`std::hash\`
----
.. doxygenclass:: cvc5::Op
:project: cvc5
:members:
----
.. doxygenfunction:: cvc5::operator<<(std::ostream& out, const Op& op)
:project: cvc5
----
.. doxygenstruct:: std::hash< cvc5::Op >
:project: std
:members:
:undoc-members: