Public Member Functions | |
IMarkable () | |
IMarkable (const IMarkable &m ATTR_UNUSED) | |
IMarkable & | operator= (const IMarkable &m ATTR_UNUSED) |
virtual | ~IMarkable () |
virtual void | mark () const =0 throw () |
virtual void | unmark () const =0 throw () |
virtual bool | marked () const =0 throw () |
IMarkable defines the Markable interface. Markable objects are things that need to be placed in a worklist while possibly being in the worklist, and/or objects in cyclic or DAG-like data structures that are traversed in some fashion.
IMarkable is implemented in the Markable class. The interface has been extracted out for allowing "delegate" objects to delegate the mark() and unmark() calls to the wrapped object. E.g., the Decorator Pattern.
wali::IMarkable::IMarkable | ( | ) |
Creates a new IMarkable in the unmarked state
wali::IMarkable::IMarkable | ( | const IMarkable &m | ATTR_UNUSED | ) |
virtual wali::IMarkable::~IMarkable | ( | ) | [virtual] |
Destructor does noting
IMarkable::operator= has no effect b/c IMarkable has no fields. In general though, the input should be ignored. This is because IMarkable specifies that state may only be changed via the mark and unmark operations.
virtual void wali::IMarkable::mark | ( | ) | const throw () [pure virtual] |
Mark this
Implemented in wali::Markable, and wali::wfa::DecoratorTrans.
Referenced by wali::wfa::DecoratorTrans::mark(), wali::RankedWorklist::put(), and wali::PriorityWorklist::put().
virtual void wali::IMarkable::unmark | ( | ) | const throw () [pure virtual] |
Unmark this
Implemented in wali::Markable, and wali::wfa::DecoratorTrans.
Referenced by wali::PriorityWorklist::get(), and wali::wfa::DecoratorTrans::unmark().
virtual bool wali::IMarkable::marked | ( | ) | const throw () [pure virtual] |
Check if this is marked.
Implemented in wali::Markable, and wali::wfa::DecoratorTrans.
Referenced by wali::wfa::DecoratorTrans::marked(), wali::RankedWorklist::put(), and wali::PriorityWorklist::put().