HTGS  v2.0
The Hybrid Task Graph Scheduler
htgs::GraphEdge< T > Class Template Referenceabstract
Inheritance diagram for htgs::GraphEdge< T >:
Inheritance graph
Collaboration diagram for htgs::GraphEdge< T >:
Collaboration graph

Public Member Functions

 GraphEdge (std::shared_ptr< Connector< T >> graphConnector)
 
std::shared_ptr< Connector< T > > getGraphConnector ()
 
void setConnector (std::shared_ptr< Connector< T >> connector)
 
virtual GraphEdge< T > * copy (AnyTaskGraphConf *graph)=0
 Creates a copy of the edge descriptor to be added to other graphs, such as those within execution pipelines. More...
 
virtual void updateEdge (std::shared_ptr< Connector< T >> newConnector, AnyTaskGraphConf *graph)=0
 
virtual AnyTaskManagergetTaskManager (AnyTaskGraphConf *graph)=0
 
- Public Member Functions inherited from htgs::EdgeDescriptor
virtual ~EdgeDescriptor ()
 Destructor.
 
virtual void applyEdge (AnyTaskGraphConf *graph)=0
 Applies an edge to a task graph. More...
 

Private Attributes

std::shared_ptr< Connector< T > > graphConnector
 

Member Function Documentation

◆ copy()

template<class T>
virtual GraphEdge<T>* htgs::GraphEdge< T >::copy ( AnyTaskGraphConf graph)
pure virtual

Creates a copy of the edge descriptor to be added to other graphs, such as those within execution pipelines.

The edge descriptor typically has ITasks that are added to a TaskManager, which is then added to the task graph. The copy function is used to copy the ITasks and any other meta data that is needed for applying the edge. The implementation should use the AnyTaskGraphConf::getCopy function to get copies of the ITask.

Parameters
graphthe graph you are getting ITask copies from.
Returns
a new EdgeDescriptor to be used to apply edges to a future task graph configuration.

Implements htgs::EdgeDescriptor.

Implemented in htgs::GraphRuleProducerEdge< T, U >, htgs::GraphTaskConsumerEdge< T, U >, and htgs::GraphTaskProducerEdge< T, U >.


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