HLIBpro  2.0
Public Member Functions | Protected Member Functions | List of all members
TDAGNode Class Referenceabstract

base class for DAG nodes defining interface and basic functionality

#include <dag.hh>

Inherits task.

Public Member Functions

 TDAGNode ()
 default ctor
 
tbb::task * execute ()
 overwritten TBB method executed by thread
 
virtual bool compute ()=0
 do actual work associated with node; return true if work was finished
 
void add_dep (TDAGNode *dep)
 add dependency, e.g. this node requires dep to finish
 
bool has_succ () const
 signals, if node has successors
 
const std::list< TDAGNode * > & successors () const
 give access to successor list
 

Protected Member Functions

void spawn_succ ()
 spawn ready successors
 
void add_succ (TDAGNode *succ)
 add successor; also increasing dependency counter of succ