Go to the documentation of this file.
12 #ifndef CPROVER_SOLVERS_FLATTENING_POINTER_LOGIC_H
13 #define CPROVER_SOLVERS_FLATTENING_POINTER_LOGIC_H
44 const pointert &pointer,
76 #endif // CPROVER_SOLVERS_FLATTENING_POINTER_LOGIC_H
void get_dynamic_objects(std::vector< mp_integer > &objects) const
Base class for all expressions.
pointer_logict(const namespacet &_ns)
const mp_integer & get_invalid_object() const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
mp_integer invalid_object
numberingt< exprt, irep_hash > objects
pointert(mp_integer _obj, mp_integer _off)
bool is_dynamic_object(const exprt &expr) const
mp_integer add_object(const exprt &expr)
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
const mp_integer & get_null_object() const
exprt pointer_expr(const pointert &pointer, const pointer_typet &type) const
Convert an (object,offset) pair to an expression.