Public Member Functions | |
Worklist () | |
virtual | ~Worklist () |
virtual bool | put (T *item)=0 |
virtual T * | get ()=0 |
virtual bool | empty () const =0 |
virtual void | clear ()=0 |
Worklist defines the interface of a worklist. All items must subclass wali::Markable. When an item is placed on a worklist, the worklist treats the item's "marked" state as only being modified by the worklist (i.e., do not place a Markable item on two worklists at the same time).
wali::Worklist< T >::Worklist | ( | ) |
virtual wali::Worklist< T >::~Worklist | ( | ) | [virtual] |
virtual bool wali::Worklist< T >::put | ( | T * | item | ) | [pure virtual] |
put
Put a Trans * in the Worklist. This method should be idempotent but it really does not matter.
Implemented in wali::DefaultWorklist< T >, wali::PriorityWorklist, and wali::RankedWorklist.
Referenced by wali::wfa::WFA::path_summary(), and wali::wfa::WFA::setupFixpoint().
virtual T* wali::Worklist< T >::get | ( | ) | [pure virtual] |
get
Return an item from the worklist. Guaranteed only to be called if Worklist is not empty. May throw an exception or return NULL if the worklist is not empty.
Implemented in wali::DefaultWorklist< T >, wali::PriorityWorklist, wali::RankedWorklist, and wali::wfa::epr::StatePriorityWorklist.
Referenced by wali::wfa::WFA::path_summary().
virtual bool wali::Worklist< T >::empty | ( | ) | const [pure virtual] |
emtpy
Implemented in wali::DefaultWorklist< T >, wali::PriorityWorklist, wali::RankedWorklist, and wali::wfa::epr::StatePriorityWorklist.
Referenced by wali::wfa::WFA::path_summary().
virtual void wali::Worklist< T >::clear | ( | ) | [pure virtual] |
clear
Remove and unmark each item in this worklist.
Implemented in wali::DefaultWorklist< T >, wali::PriorityWorklist, wali::RankedWorklist, and wali::wfa::epr::StatePriorityWorklist.