9 #ifndef CPROVER_SOLVERS_STRINGS_EQUATION_SYMBOL_MAPPING_H
10 #define CPROVER_SOLVERS_STRINGS_EQUATION_SYMBOL_MAPPING_H
13 #include <unordered_map>
25 void add(
const std::size_t i,
const exprt &expr);
Maps equation to expressions contained in them and conversely expressions to equations that contain t...
void add(const std::size_t i, const exprt &expr)
Record the fact that equation i contains expression expr
std::vector< std::size_t > find_equations(const exprt &expr)
std::map< exprt, std::vector< std::size_t > > equations_containing
Record index of the equations that contain a given expression.
std::unordered_map< std::size_t, std::vector< exprt > > strings_in_equation
Record expressions that are contained in the equation with the given index.
std::vector< exprt > find_expressions(const std::size_t i)
Base class for all expressions.