Public Member Functions | Protected Attributes

wali::witness::WitnessCombine Class Reference

List of all members.

Public Member Functions

 WitnessCombine (sem_elem_t weight)
 Passes weight to base class Witness.
virtual ~WitnessCombine ()
 Destructor does nothing.
virtual sem_elem_t combine (SemElem *se)
 Override Witness::combine.
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.
void addChild (witness_t w)
 Add a child to this.
std::list< witness_t > & children ()
void absorb (WitnessCombine *wc)
 absorb param wc's children into this

Protected Attributes

std::list< witness_tkids

Constructor & Destructor Documentation

wali::witness::WitnessCombine::WitnessCombine ( sem_elem_t  weight  ) 

Passes weight to base class Witness.

Referenced by combine().

wali::witness::WitnessCombine::~WitnessCombine (  )  [virtual]

Destructor does nothing.


Member Function Documentation

sem_elem_t wali::witness::WitnessCombine::combine ( SemElem se  )  [virtual]

Override Witness::combine.

Overriding Witness::combine here allows for Witness::combine to not have to check if "this" is actually of type WitnessCombine b/c if it were they dynamic dispatch would have ended up here.

Reimplemented from wali::witness::Witness.

References wali::witness::Witness::accept(), accept(), addChild(), wali::witness::Witness::isZero(), wali::witness::Witness::user_se, wali::waliErr, wali::witness::Witness::weight(), and WitnessCombine().

void wali::witness::WitnessCombine::accept ( Visitor v,
bool visitOnce  = false 
) [virtual]
void wali::witness::WitnessCombine::reset_marks (  )  const [virtual]

Override Witness::reset_marks.

Reimplemented from wali::witness::Witness.

References kids, and wali::Markable::marked().

std::ostream & wali::witness::WitnessCombine::prettyPrint ( std::ostream &  o,
size_t  depth 
) const [virtual]

Override Witness::pretty_print.

Reimplemented from wali::witness::Witness.

References wali::witness::Witness::formatDepth(), kids, and wali::witness::Witness::user_se.

void wali::witness::WitnessCombine::addChild ( witness_t  w  ) 

Add a child to this.

References kids.

Referenced by combine(), and wali::witness::Witness::combine().

std::list< witness_t > & wali::witness::WitnessCombine::children (  ) 

The combine of all the weights of the children should (must) equal the weight of this WitnessCombine object.

Returns:
reference to list of Witness children.

References kids.

Referenced by absorb(), accept(), wali::witness::VisitorPrinter::visitCombine(), and wali::witness::VisitorDot::visitCombine().

void wali::witness::WitnessCombine::absorb ( WitnessCombine wc  ) 

absorb param wc's children into this

References children(), and kids.


Member Data Documentation


The documentation for this class was generated from the following files: