GEGELATI
|
#include <tpgInstrumentedFactory.h>
Public Member Functions | |
virtual std::shared_ptr< TPGGraph > | createTPGGraph (const Environment &env) const override |
virtual TPGTeam * | createTPGTeam () const override |
Specialization of the method returning a TPGTeamInstrumented. More... | |
virtual TPGAction * | createTPGAction (const uint64_t id) const override |
Specialization of the method returning a TPGActionInstrumented. More... | |
virtual std::unique_ptr< TPGEdge > | createTPGEdge (const TPGVertex *src, const TPGVertex *dest, const std::shared_ptr< Program::Program > prog) const override |
Specialization of the method returning a TPGEdgeInstrumented. More... | |
virtual std::unique_ptr< TPGExecutionEngine > | createTPGExecutionEngine (const Environment &env, Archive *arch=NULL) const override |
void | resetTPGGraphCounters (const TPG::TPGGraph &tpg) const |
Reset all visit and traversal counters of a TPGGraph. More... | |
void | clearUnusedTPGGraphElements (TPG::TPGGraph &tpg) const |
Removes from the TPGGraph the vertices and edges that were never visited (since the last reset). More... | |
![]() | |
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... | |
Specialization of the TPGFactory class producing TPGTeamInstrumented, TPGActionInstrumented, TPGEdgeInstrumented, and TPGExecutionEngineInstrumented
Also contains a helper function for resetting the instrumentation of a TPGGraph.
void TPG::TPGInstrumentedFactory::clearUnusedTPGGraphElements | ( | TPG::TPGGraph & | tpg | ) | const |
Removes from the TPGGraph the vertices and edges that were never visited (since the last reset).
This method removes from the TPGGraph:
The method will do nothing on a TPGGraph whose TPGVertex and TPGEdge are not TPGVertexInstrumentation and TPGEdgeInstrumented specializations.
Beware, this function may remove TPGAction from the TPGGraph, thus making it improper for future training.
[in] | tpg | Reference to the TPGGraph whose TPGVertexInstrumentation and TPGEdge will be removed. |
|
overridevirtual |
Specialization of the method returning a TPGActionInstrumented.
Reimplemented from TPG::TPGFactory.
|
overridevirtual |
Specialization of the method returning a TPGEdgeInstrumented.
Reimplemented from TPG::TPGFactory.
|
overridevirtual |
Specialization of the method returning a TPGExecutionEngineInstrumented
Reimplemented from TPG::TPGFactory.
|
overridevirtual |
Specialization of the method returing the TPGGraph with a TPGInstrumentedFactory as an attribute.
Reimplemented from TPG::TPGFactory.
|
overridevirtual |
Specialization of the method returning a TPGTeamInstrumented.
Reimplemented from TPG::TPGFactory.
void TPG::TPGInstrumentedFactory::resetTPGGraphCounters | ( | const TPG::TPGGraph & | tpg | ) | const |
Reset all visit and traversal counters of a TPGGraph.
[in] | tpg | the TPGGraph whose TPGTeamInstrumented, TPGActionInstrumented, and TPGEdgeInstrumented will be reseted.The TPGGraph is const since all instrumentation counters are mutable. |