maat::ValueSet class

A value set is a strided interval used to represent the possible range of values that an expression can take. The range is represented by lower and higher bounds that are unsigned values

❱   Base classes

class Serializable
Virtual interface that serializable classes must implement.

❱   Public functions

void set_cst(ucst_t val)
Set value set as just one constant value.

auto is_cst() -> bool
Return true if the value set represents a constant (min==max)

void set_all()
Make value set as big as possible (min = vs_min, max = vs_max)

auto range() -> ucst_t
Return the difference between max and min.

auto class_uid() const -> uid_t virtual
Return the class uid (see ClassId enum)

void dump(Serializer&) const virtual
Dump the object contents in a serializer stream.

void load(Deserializer&) virtual
Restore an object from a deserializer stream.

❱   Public variables

int size

ucst_t min
Lower bound.

ucst_t max
Upper bound.

ucst_t stride
Stride.

❱   Protected static variables

static const uint64_t vs_min
Minimal lower bound.

static const uint64_t vs_max
Maximal upper bound.

❱   Variable documentation

int maat::ValueSet::size

Size in bits of the expression whose range of possible values is represented by this interval