11 #include "../sort/Sort.h"
13 #include "../sort/SortManager.h"
65 static_assert(std::is_trivially_copyable<UVariable>::value,
"UVariable should be trivially copyable.");
66 static_assert(
sizeof(UVariable) ==
sizeof(Variable) +
sizeof(Sort),
"UVariable should be as large as a Variable and a Sort");
carl is the main namespace for the library.
bool operator<(const BasicConstraint< P > &lhs, const BasicConstraint< P > &rhs)
std::ostream & operator<<(std::ostream &os, const BasicConstraint< Poly > &c)
Prints the given constraint on the given stream.
bool operator==(const BasicConstraint< P > &lhs, const BasicConstraint< P > &rhs)
std::size_t hash_all(Args &&... args)
Hashes an arbitrary number of values.
A Variable represents an algebraic variable that can be used throughout carl.
static const Variable NO_VARIABLE
Instance of an invalid variable.
Implements a sort (for defining types of variables and functions).
Implements a manager for sorts, containing the actual contents of these sort and allocating their ids...
Implements an uninterpreted variable.
UVariable(const UVariable &)=default
UVariable(Variable var, Sort domain)
Constructs an uninterpreted variable.
Variable mVar
The according variable, hence, the actual content of this class.
Variable variable() const
UVariable & operator=(const UVariable &)=default
UVariable()=default
Default constructor.
UVariable(UVariable &&)=default
UVariable & operator=(UVariable &&)=default
std::size_t operator()(carl::UVariable uvar) const