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