14 class BVConstraintPool;
76 std::size_t
id()
const {
100 std::set<BVVariable> bvvars;
102 for (
const auto& bvv : bvvars) {
103 vars.
add(bvv.variable());
120 bool operator==(
const BVConstraint& lhs,
const BVConstraint& rhs);
121 bool operator<(
const BVConstraint& lhs,
const BVConstraint& rhs);
123 std::ostream&
operator<<(std::ostream& os,
const BVConstraint& c);
131 struct hash<
carl::BVConstraint> {
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.
void gatherVariables(carlVariables &vars) const
const BVTerm & rhs() const
bool isAlwaysInconsistent() const
bool isAlwaysConsistent() const
BVTerm mLhs
The left-hand side of the (in)equality.
const BVTerm & lhs() const
std::size_t mId
The unique id.
BVConstraint(const BVCompareRelation &_relation, const BVTerm &_lhs, const BVTerm &_rhs)
Constructs the constraint: _lhs _relation _rhs.
BVConstraint(bool _consistent=true)
std::size_t complexity() const
BVCompareRelation relation() const
BVTerm mRhs
The right-hand size of the (in)equality.
std::size_t mHash
The hash value.
static BVConstraint create(bool _consistent=true)
void gatherBVVariables(std::set< BVVariable > &vars) const
BVCompareRelation mRelation
The relation for comparing left- and right-hand side.
std::size_t operator()(const carl::BVConstraint &c) const
std::size_t width() const
size_t complexity() const
void gatherBVVariables(std::set< BVVariable > &vars) const