DatatypeDecl
This class encapsulates a datatype declaration. A datatype declaration is
constructed via
cvc5::Solver::mkDatatypeDecl()
. This is not a
datatype itself (see
Datatype
), but the representation of the
specification for creating a datatype
Sort
(see
cvc5::Solver::mkDatatypeSort()
and
cvc5::Solver::mkDatatypeSorts()
).
-
class
cvc5::DatatypeDecl
-
std::ostream& cvc5::operator<< (std::ostream& out, const DatatypeDecl& decl)
-
class
DatatypeDecl
-
A cvc5 datatype declaration. A datatype declaration is not itself a datatype (see Datatype ), but a specification for creating a datatype sort.
The interface for a datatype declaration coincides with the syntax for the SMT-LIB 2.6 command
declare-datatype
, or a single datatype within thedeclare-datatypes
command.Datatype sorts can be constructed from a DatatypeDecl using:
Public Functions
-
DatatypeDecl
(
)
-
Constructor.
-
~DatatypeDecl
(
)
-
Destructor.
-
void
addConstructor
(
const
DatatypeConstructorDecl
&
ctor
)
-
Add datatype constructor declaration.
- Parameters :
-
ctor – The datatype constructor declaration to add.
-
size_t
getNumConstructors
(
)
const
-
Get the number of constructors (so far) for this Datatype declaration.
- Returns :
-
The number of constructors.
-
bool
isParametric
(
)
const
-
Determine if this Datatype declaration is parametric.
Warning
This function is experimental and may change in future versions.
- Returns :
-
True if this datatype declaration is parametric.
-
bool
isResolved
(
)
const
-
Determine if this datatype declaration is resolved (has already been used to declare a datatype).
- Returns :
-
True if this datatype declaration is resolved.
-
bool
isNull
(
)
const
-
Determine if this datatype declaration is nullary.
- Returns :
-
True if this DatatypeDecl is a null object.
-
std
::
string
toString
(
)
const
-
Get a string representation of this datatype declaration.
- Returns :
-
A string representation.
-
std
::
string
getName
(
)
const
-
Get the name of this datatype declaration.
- Returns :
-
The name.
-
DatatypeDecl
(
)
-
std
::
ostream
&
cvc5
::
operator
<<
(
std
::
ostream
&
out
,
const
DatatypeDecl
&
dtdecl
)
-
Serialize a datatype declaration to given stream.
- Parameters :
-
-
out – The output stream.
-
dtdecl – The datatype declaration to be serialized to the given stream.
-
- Returns :
-
The output stream.