10 #ifndef CPROVER_UTIL_REPLACE_SYMBOL_H 11 #define CPROVER_UTIL_REPLACE_SYMBOL_H 20 #include <unordered_map> 25 typedef std::unordered_map<irep_idt, exprt>
expr_mapt;
26 typedef std::unordered_map<irep_idt, typet>
type_mapt;
31 expr_map.insert(std::pair<irep_idt, exprt>(identifier, expr));
35 const exprt &new_expr);
40 type_map.insert(std::pair<irep_idt, typet>(identifier, type));
57 const bool replace_with_const=
true)
const;
93 #endif // CPROVER_UTIL_REPLACE_SYMBOL_H The type of an expression.
void operator()(exprt &dest) const
std::unordered_map< irep_idt, typet > type_mapt
bool have_to_replace(const exprt &dest) const
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
std::unordered_map< irep_idt, exprt > expr_mapt
virtual ~replace_symbolt()
virtual bool replace(exprt &dest, const bool replace_with_const=true) const
Replaces a symbol with a constant If you are replacing symbols with constants in an l-value...
Base class for all expressions.
void insert(const irep_idt &identifier, const exprt &expr)
Expression to hold a symbol (variable)
void operator()(typet &dest) const
void insert(const irep_idt &identifier, const typet &type)