ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
value_sett::entryt Struct Reference

Record for a particular value set: stores the identity of the variable that points at this set of objects, and the objects themselves (with associated offset data). More...

#include <value_set.h>

Public Member Functions

 entryt ()=default
 entryt (std::string _identifier, const std::string &_suffix)
bool operator== (const entryt &e) const
bool operator!= (const entryt &e) const

Public Attributes

object_mapt object_map
 The map of objects -> their offset data.
std::string identifier
 The L1 name of the pointer variable that's doing the pointing.
std::string suffix
 Additional suffix data – an L1 variable might actually contain several pointers.

Detailed Description

Record for a particular value set: stores the identity of the variable that points at this set of objects, and the objects themselves (with associated offset data).

The canonical name of this entry, stored in value_set::values, is the 'identifier' field concatonated with the 'suffix' field (see docs for suffix).

Constructor & Destructor Documentation

◆ entryt() [1/2]

value_sett::entryt::entryt ( )
default

◆ entryt() [2/2]

value_sett::entryt::entryt ( std::string _identifier,
const std::string & _suffix )
inline

Member Function Documentation

◆ operator!=()

bool value_sett::entryt::operator!= ( const entryt & e) const
inline

◆ operator==()

bool value_sett::entryt::operator== ( const entryt & e) const
inline

Member Data Documentation

◆ identifier

std::string value_sett::entryt::identifier

The L1 name of the pointer variable that's doing the pointing.

◆ object_map

object_mapt value_sett::entryt::object_map

The map of objects -> their offset data.

Any key/value pair in this map represents a object/offset-data (respectively) that this variable can point at.

◆ suffix

std::string value_sett::entryt::suffix

Additional suffix data – an L1 variable might actually contain several pointers.

For example, an array of pointer, or a struct with multiple pointer members. This suffix uniquely distinguishes which pointer variable (within the l1 variable) this record is for. As an example, it might read '.ptr' to identify the ptr field of a struct. It might also be '[]' if this is the value set of an array of pointers: we don't track each individual element, only the array of them.


The documentation for this struct was generated from the following file: