44 std::size_t
id()
const {
56 const std::vector<UTerm>&
args()
const;
61 void gatherUFs(std::set<UninterpretedFunction>& ufs)
const;
64 static_assert(std::is_trivially_copyable<UFInstance>::value,
"UFInstance should be trivially copyable.");
65 static_assert(
sizeof(UFInstance) ==
sizeof(std::size_t),
"UFInstance should be as large as its id");
73 return lhs.
id() == rhs.
id();
82 return lhs.
id() < rhs.
id();
91 std::ostream&
operator<<(std::ostream& os,
const UFInstance& ufun);
99 struct hash<
carl::UFInstance> {
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.
Implements an uninterpreted function instance.
void gatherUFs(std::set< UninterpretedFunction > &ufs) const
std::size_t complexity() const
void gatherVariables(carlVariables &vars) const
const UninterpretedFunction & uninterpretedFunction() const
UFInstance(std::size_t id) noexcept
Constructs an uninterpreted function instance.
std::size_t mId
A unique id.
const std::vector< UTerm > & args() const
std::size_t operator()(const carl::UFInstance &ufi) const
Implements a manager for uninterpreted function instances, containing their actual contents and alloc...
Implements an uninterpreted function.