Go to the documentation of this file.
12 #ifndef CPROVER_ANALYSES_VARIABLE_SENSITIVITY_ABSTRACT_VALUE_OBJECT_H
13 #define CPROVER_ANALYSES_VARIABLE_SENSITIVITY_ABSTRACT_VALUE_OBJECT_H
The type of an expression, extends irept.
virtual const typet & type() const
Get the real type of the variable this abstract object is representing.
const exprt & current() const override
virtual index_range_ptrt index_range(const namespacet &ns) const =0
Base class for all expressions.
index_range_ptrt make_empty_index_range()
std::shared_ptr< index_ranget > index_range_ptrt
abstract_objectt is the top of the inheritance heirarchy of objects used to represent individual vari...
virtual bool advance_to_next()=0
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
abstract_value_objectt(const exprt &expr, const abstract_environmentt &environment, const namespacet &ns)
single_value_index_ranget(const exprt &val)
virtual const exprt & current() const =0
abstract_value_objectt(const typet &type, bool tp, bool bttm)
index_range_ptrt make_indeterminate_index_range()
virtual ~index_ranget()=default
bool advance_to_next() override
abstract_value_objectt(const typet &type)