Go to the documentation of this file.
20 #ifndef CPROVER_SOLVERS_REFINEMENT_STRING_CONSTRAINT_H
21 #define CPROVER_SOLVERS_REFINEMENT_STRING_CONSTRAINT_H
112 std::ostringstream out;
std::string to_string(const string_constraintt &expr)
Used for debug printing.
bool replace_expr(exprt &expr) const
Replace subexpressions of expr by the representative element of the set they belong to.
Base class for all expressions.
Expression to hold a symbol (variable)
void replace(const union_find_replacet &replace_map, string_not_contains_constraintt &constraint)
size_t operator()(const string_not_contains_constraintt &constraint) const
string_constraintt(symbol_exprt univ_var, exprt upper_bound, exprt body, message_handlert &message_handler)
exprt univ_within_bounds() const
Similar interface to union-find for expressions, with a function for replacing sub-expressions by the...
string_constraintt(const symbol_exprt &_univ_var, const exprt &lower_bound, const exprt &upper_bound, const exprt &body, message_handlert &message_handler)
A base class for relations, i.e., binary predicates whose two operands have the same type.
Constraints to encode non containement of strings.
void replace_expr(union_find_replacet &replace_map)
bool operator==(const string_not_contains_constraintt &left, const string_not_contains_constraintt &right)