20 : manager(manager), bdd(manager.
from_expr(e))
Conversion between exprt and miniBDD.
static exprt guard(const exprt::operandst &guards, exprt cond)
Conversion between exprt and bbdt This encapsulate a bdd_managert, thus BDDs created with this class ...
exprt as_expr(const bddt &root) const
bddt from_expr(const exprt &expr)
bddt constrain(const bddt &other)
bddt bdd_or(const bddt &other) const
bddt bdd_and(const bddt &other) const
Base class for all expressions.
bool is_false() const
Return whether the expression is a constant representing false.
guard_bddt & add(const exprt &expr)
guard_bddt(const exprt &e, bdd_exprt &manager)
guard_bddt & append(const guard_bddt &guard)
exprt guard_expr(exprt expr) const
Return guard => dest or a simplified variant thereof if either guard or dest are trivial.
guard_bddt & operator=(const guard_bddt &other)
exprt boolean_negate(const exprt &src)
negate a Boolean expression, possibly removing a not_exprt, and swapping false and true
Deprecated expression utility functions.
guard_bddt & operator|=(guard_bddt &g1, const guard_bddt &g2)
guard_bddt & operator-=(guard_bddt &g1, const guard_bddt &g2)
Guard Data Structure Implementation using BDDs.
std::string from_expr(const namespacet &ns, const irep_idt &identifier, const exprt &expr)
#define PRECONDITION(CONDITION)
API to expression classes.