16 : mpContent(
BVTermPool::getInstance().create()) {
20 : mpContent(
BVTermPool::getInstance().create(_type, std::move(_value))) {
24 : mpContent(
BVTermPool::getInstance().create(_type, _variable)) {
28 : mpContent(
BVTermPool::getInstance().create(_type, _operand, _index)) {
32 : mpContent(
BVTermPool::getInstance().create(_type, _first, _second)) {
36 : mpContent(
BVTermPool::getInstance().create(_type, _operand, _first, _last)) {
106 auto iter = _substitutions.find(
variable());
107 if (iter != _substitutions.end()) {
119 return BVTerm(
type, firstSubstituted, secondSubstituted);
carl is the main namespace for the library.
bool typeIsUnary(BVTermType type)
bool operator<(const BasicConstraint< P > &lhs, const BasicConstraint< P > &rhs)
bool typeIsBinary(BVTermType type)
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)
const BVTerm & operand() const
std::size_t index() const
std::size_t width() const
size_t complexity() const
std::size_t highest() const
void gatherBVVariables(std::set< BVVariable > &vars) const
const BVVariable & variable() const
const BVTermContent * mpContent
const BVTerm & second() const
const BVValue & value() const
BVTerm substitute(const std::map< BVVariable, BVTerm > &) const
const BVTerm & first() const
std::size_t lowest() const
std::size_t width() const
void gatherBVVariables(std::set< BVVariable > &vars) const
std::size_t complexity() const
Represent a BitVector-Variable.