GEGELATI
|
Factory for creating all elements constituting a TPG. More...
#include <tpgFactory.h>
Public Member Functions | |
virtual | ~TPGFactory ()=default |
Default virtual destructor. | |
virtual std::shared_ptr< TPGGraph > | createTPGGraph (const Environment &env) const |
Create a TPGGraph with this TPGFactory. More... | |
virtual TPGTeam * | createTPGTeam () const |
Create a TPGTeam for a TPGGraph. More... | |
virtual TPGAction * | createTPGAction (const uint64_t id) const |
Create a TPGAction for a TPGGraph. More... | |
virtual std::unique_ptr< TPGEdge > | createTPGEdge (const TPGVertex *src, const TPGVertex *dest, const std::shared_ptr< Program::Program > prog) const |
Create a TPGEdge for a TPGGraph. More... | |
virtual std::unique_ptr< TPG::TPGExecutionEngine > | createTPGExecutionEngine (const Environment &env, Archive *arch=NULL) const |
Create a TPGExecutionEngine for a TPGGraph produced by this TPGFactory. More... | |
Factory for creating all elements constituting a TPG.
Using the factory design pattern, this class enables the creation of all elements composing a TPGGraph:
The factory also enables the creation of TPGExecutionEngine.
This implementation returns the default type for each kind of element.
|
virtual |
Create a TPGAction for a TPGGraph.
This method allocates and returns a new TPGAction.
[in] | id | integer stored as the actionID of the TPGAction. |
Reimplemented in TPG::TPGInstrumentedFactory.
|
virtual |
Create a TPGEdge for a TPGGraph.
This method allocates and returns a new TPGEdge. The TPGEdge is returned as a unique_ptr.
[in] | src | pointer to the source TPGVertex of the edge. |
[in] | dest | pointer to the destination TPGVertex of the edge. |
[in] | prog | the shared pointer to the Program associated to the edge. |
Reimplemented in TPG::TPGInstrumentedFactory.
|
virtual |
Create a TPGExecutionEngine for a TPGGraph produced by this TPGFactory.
[in] | env | Environment in which the Program of the TPGGraph will be executed. |
[in] | arch | pointer to the Archive for storing recordings of the Program Execution. By default, a NULL pointer is given, meaning that no recording of the execution will be made. |
Reimplemented in TPG::TPGInstrumentedFactory.
|
virtual |
Create a TPGGraph with this TPGFactory.
[in] | env | Environment used to build the TPGGraph. |
Reimplemented in TPG::TPGInstrumentedFactory.
|
virtual |
Create a TPGTeam for a TPGGraph.
This method allocates and returns a new TPGTeam.
Reimplemented in TPG::TPGInstrumentedFactory.