DatatypeConstructorDecl
This class encapsulates a datatype constructor declaration.
A
DatatypeConstructorDecl
is constructed via
cvc5::Solver::mkDatatypeConstructorDecl()
.
This is not yet a
datatype constructor itself
,
but the representation of the specification for creating a datatype constructor
of a datatype
Sort
via
cvc5::Solver::mkDatatypeSort()
and
cvc5::Solver::mkDatatypeSorts()
.
-
class
DatatypeConstructorDecl
-
A cvc5 datatype constructor declaration. A datatype constructor declaration is a specification used for creating a datatype constructor.
Public Functions
-
DatatypeConstructorDecl
(
)
-
Constructor.
-
~DatatypeConstructorDecl
(
)
-
Destructor.
-
bool
operator
==
(
const
DatatypeConstructorDecl
&
decl
)
const
-
Equality operator.
- Parameters :
-
decl – The datatype constructor declaration to compare to for equality.
- Returns :
-
True if the datatype constructor declarations are equal.
-
void
addSelector
(
const
std
::
string
&
name
,
const
Sort
&
sort
)
-
Add datatype selector declaration.
- Parameters :
-
-
name – The name of the datatype selector declaration to add.
-
sort – The codomain sort of the datatype selector declaration to add.
-
-
void
addSelectorSelf
(
const
std
::
string
&
name
)
-
Add datatype selector declaration whose codomain type is the datatype itself.
- Parameters :
-
name – The name of the datatype selector declaration to add.
-
void
addSelectorUnresolved
(
const
std
::
string
&
name
,
const
std
::
string
&
unresDataypeName
)
-
Add datatype selector declaration whose codomain sort is an unresolved datatype with the given name.
- Parameters :
-
-
name – The name of the datatype selector declaration to add.
-
unresDataypeName – The name of the unresolved datatype. The codomain of the selector will be the resolved datatype with the given name.
-
-
bool
isNull
(
)
const
-
- Returns :
-
True if this DatatypeConstructorDecl is a null declaration.
-
std
::
string
toString
(
)
const
-
- Returns :
-
A string representation of this datatype constructor declaration.
Friends
- friend struct std::hash< DatatypeConstructorDecl >
-
DatatypeConstructorDecl
(
)
-
std
::
ostream
&
cvc5
::
operator
<<
(
std
::
ostream
&
out
,
const
DatatypeConstructorDecl
&
ctordecl
)
-
Serialize a datatype constructor declaration to given stream.
- Parameters :
-
-
out – The output stream.
-
ctordecl – The datatype constructor declaration to be serialized.
-
- Returns :
-
The output stream.
-
std
::
ostream
&
cvc5
::
operator
<<
(
std
::
ostream
&
out
,
const
std
::
vector
<
DatatypeConstructorDecl
>
&
vector
)
-
Serialize a vector of datatype constructor declarations to given stream.
- Parameters :
-
-
out – The output stream.
-
vector – The vector of datatype constructor declarations to be. serialized to the given stream
-
- Returns :
-
The output stream.