10 #ifndef CPROVER_UTIL_EXPR_H 11 #define CPROVER_UTIL_EXPR_H 13 #define OPERANDS_IN_GETSUB 17 #define forall_operands(it, expr) \ 18 if((expr).has_operands()) \ 19 for(exprt::operandst::const_iterator it=(expr).operands().begin(), \ 20 it##_end=(expr).operands().end(); \ 23 #define Forall_operands(it, expr) \ 24 if((expr).has_operands()) \ 25 for(exprt::operandst::iterator it=(expr).operands().begin(); \ 26 it!=(expr).operands().end(); ++it) 28 #define forall_expr(it, expr) \ 29 for(exprt::operandst::const_iterator it=(expr).begin(); \ 30 it!=(expr).end(); ++it) 32 #define Forall_expr(it, expr) \ 33 for(exprt::operandst::iterator it=(expr).begin(); \ 34 it!=(expr).end(); ++it) 36 #define forall_expr_list(it, expr) \ 37 for(expr_listt::const_iterator it=(expr).begin(); \ 38 it!=(expr).end(); ++it) 40 #define Forall_expr_list(it, expr) \ 41 for(expr_listt::iterator it=(expr).begin(); \ 42 it!=(expr).end(); ++it) 63 return static_cast<const typet &
>(
find(ID_type));
71 #ifdef OPERANDS_IN_GETSUB 78 #ifdef OPERANDS_IN_GETSUB 154 return static_cast<exprt &
>(
add(name));
159 return static_cast<const exprt &
>(
find(name));
182 #endif // CPROVER_UTIL_EXPR_H virtual void operator()(exprt &expr)
The type of an expression.
const exprt & op3() const
const exprt & op2() const
void copy_to_operands(const exprt &expr)
void move_to_operands(exprt &expr)
exprt(const irep_idt &_id)
const exprt & find_expr(const irep_idt &name) const
unsignedbv_typet size_type()
void make_bool(bool value)
void visit(class expr_visitort &visitor)
const source_locationt & find_source_location() const
exprt(const irep_idt &_id, const typet &_type)
const operandst & operands() const
Base class for tree-like data structures with sharing.
const typet & type() const
std::list< exprt > expr_listt
bool has_operands() const
std::vector< exprt > operandst
bool mul(const exprt &expr)
const exprt & op1() const
const exprt & op0() const
Base class for all expressions.
virtual void operator()(const exprt &expr)
const source_locationt & source_location() const
irept & add(const irep_namet &name)
bool subtract(const exprt &expr)
source_locationt & add_source_location()
exprt & add_expr(const irep_idt &name)
virtual ~const_expr_visitort()
bool sum(const exprt &expr)
void make_typecast(const typet &_type)
const irept & find(const irep_namet &name) const
void reserve_operands(operandst::size_type n)