maat::PathManager class

A class recording the constraints associated with the current execution path.

❱   Base classes

class Serializable
Virtual interface that serializable classes must implement.

❱   Public types

struct iterator
Custom iterator for path constraints.

class IteratorWrapper

❱   Public functions

void add(Constraint constraint)
Add a path constraint.

auto take_snapshot() -> path_snapshot_t
Snapshot the current path constraints.

void restore_snapshot(path_snapshot_t snap)
Restore snapshot.

auto constraints() -> const std::vector<Constraint>&
Get current path constraints.

auto get_related_constraints(const Constraint& constraint) -> IteratorWrapper

auto get_related_constraints(const Expr& expr) -> IteratorWrapper

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

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

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

❱   Function documentation

IteratorWrapper maat::PathManager::get_related_constraints(const Constraint& constraint)

Returns the constraints related to 'constraint'. Related constraints means that they contain common abstract variables. The function is meant to be used in range based loops: for (auto c : get_related_constraints(...){...}

IteratorWrapper maat::PathManager::get_related_constraints(const Expr& expr)

Returns the constraints related to 'expr'. Related constraints means that they contain common abstract variables. The function is meant to be used in range based loops: for (auto c : get_related_constraints(...){...}