Public Member Functions | |
WitnessExtend (sem_elem_t weight) | |
WitnessExtend (sem_elem_t weight, witness_t left) | |
WitnessExtend (sem_elem_t weight, witness_t left, witness_t right) | |
virtual | ~WitnessExtend () |
Destructor does nothing. | |
virtual void | accept (Visitor &v, bool visitOnce=false) |
Override Witness::accept. | |
virtual void | reset_marks () const |
Override Witness::reset_marks. | |
virtual std::ostream & | prettyPrint (std::ostream &o, size_t depth) const |
Override Witness::pretty_print. | |
witness_t | left () |
bool | hasLeft () const |
witness_t | right () |
bool | hasRight () const |
Protected Attributes | |
witness_t | lchild |
witness_t | rchild |
< left parameter of binary extend |
Class WitnessExtend bears witness to the fact that a new weight (sem_elem_t) was created by extending 0, 1, or 2 weights. In the normal case it will be extend of two weights. It really does not make sense for there to be an extend of 0 weights.
wali::witness::WitnessExtend::WitnessExtend | ( | sem_elem_t | weight | ) |
Constructor creates WitnessExtend with no children. How does this happen?
wali::witness::WitnessExtend::WitnessExtend | ( | sem_elem_t | weight, | |
witness_t | left | |||
) |
Constructor creates WitnessExtend with only a left child. Parameter weight should equal left
wali::witness::WitnessExtend::WitnessExtend | ( | sem_elem_t | weight, | |
witness_t | left, | |||
witness_t | right | |||
) |
Constructor creates WitnessExtend with a left & right child. Parameter weight should equal left.extend(right)
wali::witness::WitnessExtend::~WitnessExtend | ( | ) | [virtual] |
Destructor does nothing.
void wali::witness::WitnessExtend::accept | ( | Visitor & | v, | |
bool visitOnce | = false | |||
) | [virtual] |
Override Witness::accept.
Reimplemented from wali::witness::Witness.
References hasLeft(), hasRight(), left(), wali::Markable::mark(), wali::Markable::marked(), right(), and wali::witness::Visitor::visitExtend().
void wali::witness::WitnessExtend::reset_marks | ( | ) | const [virtual] |
Override Witness::reset_marks.
Reimplemented from wali::witness::Witness.
References hasLeft(), hasRight(), lchild, wali::Markable::marked(), rchild, and wali::Markable::unmark().
std::ostream & wali::witness::WitnessExtend::prettyPrint | ( | std::ostream & | o, | |
size_t | depth | |||
) | const [virtual] |
Override Witness::pretty_print.
Reimplemented from wali::witness::Witness.
References wali::witness::Witness::formatDepth(), hasLeft(), hasRight(), lchild, rchild, and wali::witness::Witness::user_se.
witness_t wali::witness::WitnessExtend::left | ( | ) |
References lchild.
Referenced by accept(), wali::witness::VisitorPrinter::visitExtend(), and wali::witness::VisitorDot::visitExtend().
bool wali::witness::WitnessExtend::hasLeft | ( | ) | const |
References wali::ref_ptr< T >::is_empty(), and lchild.
Referenced by accept(), prettyPrint(), reset_marks(), wali::witness::VisitorPrinter::visitExtend(), and wali::witness::VisitorDot::visitExtend().
witness_t wali::witness::WitnessExtend::right | ( | ) |
References rchild.
Referenced by accept(), wali::witness::VisitorPrinter::visitExtend(), and wali::witness::VisitorDot::visitExtend().
bool wali::witness::WitnessExtend::hasRight | ( | ) | const |
References wali::ref_ptr< T >::is_empty(), and rchild.
Referenced by accept(), prettyPrint(), reset_marks(), wali::witness::VisitorPrinter::visitExtend(), and wali::witness::VisitorDot::visitExtend().
witness_t wali::witness::WitnessExtend::lchild [protected] |
Referenced by hasLeft(), left(), prettyPrint(), and reset_marks().
witness_t wali::witness::WitnessExtend::rchild [protected] |
< left parameter of binary extend
Referenced by hasRight(), prettyPrint(), reset_marks(), and right().