GEGELATI

Loading...
Searching...
No Matches
tpgInstrumentedFactory.h
1
36#ifndef TPG_INSTRUMENTED_FACTORY
37#define TPG_INSTRUMENTED_FACTORY
38
39#include "tpg/tpgFactory.h"
40#include "tpg/tpgGraph.h"
41
42namespace TPG {
43
50 class TPGInstrumentedFactory : public TPGFactory
51 {
52 public:
55 virtual std::shared_ptr<TPGGraph> createTPGGraph(
56 const Environment& env) const override;
57
59 virtual std::unique_ptr<TPGTeam> createTPGTeam() const override;
60
62 virtual std::unique_ptr<TPGAction> createTPGAction(
63 const uint64_t id) const override;
64
66 virtual std::unique_ptr<TPGEdge> createTPGEdge(
67 const TPGVertex* src, const TPGVertex* dest,
68 const std::shared_ptr<Program::Program> prog) const override;
69
72 virtual std::unique_ptr<TPGExecutionEngine> createTPGExecutionEngine(
73 const Environment& env, Archive* arch = NULL) const override;
81 void resetTPGGraphCounters(const TPG::TPGGraph& tpg) const;
82
101 void clearUnusedTPGGraphElements(TPG::TPGGraph& tpg) const;
102 };
103} // namespace TPG
104
105#endif // !TPG_INSTRUMENTED_FACTORY
Archive
Definition archive.h:80
Environment
The Environment class contains all information needed to execute a Program.
Definition environment.h:86
TPG::TPGFactory
Factory for creating all elements constituting a TPG.
Definition tpgFactory.h:71
TPG::TPGGraph
Class for storing a Tangled-Program-Graph.
Definition tpgGraph.h:58
TPG::TPGInstrumentedFactory
Definition tpgInstrumentedFactory.h:51
TPG::TPGInstrumentedFactory::createTPGAction
virtual std::unique_ptr< TPGAction > createTPGAction(const uint64_t id) const override
Specialization of the method returning a TPGActionInstrumented.
Definition tpgInstrumentedFactory.cpp:54
TPG::TPGInstrumentedFactory::createTPGExecutionEngine
virtual std::unique_ptr< TPGExecutionEngine > createTPGExecutionEngine(const Environment &env, Archive *arch=NULL) const override
Definition tpgInstrumentedFactory.cpp:69
TPG::TPGInstrumentedFactory::createTPGGraph
virtual std::shared_ptr< TPGGraph > createTPGGraph(const Environment &env) const override
Definition tpgInstrumentedFactory.cpp:42
TPG::TPGInstrumentedFactory::createTPGTeam
virtual std::unique_ptr< TPGTeam > createTPGTeam() const override
Specialization of the method returning a TPGTeamInstrumented.
Definition tpgInstrumentedFactory.cpp:49
TPG::TPGInstrumentedFactory::resetTPGGraphCounters
void resetTPGGraphCounters(const TPG::TPGGraph &tpg) const
Reset all visit and traversal counters of a TPGGraph.
Definition tpgInstrumentedFactory.cpp:74
TPG::TPGInstrumentedFactory::clearUnusedTPGGraphElements
void clearUnusedTPGGraphElements(TPG::TPGGraph &tpg) const
Removes from the TPGGraph the vertices and edges that were never visited (since the last reset).
Definition tpgInstrumentedFactory.cpp:96
TPG::TPGInstrumentedFactory::createTPGEdge
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.
Definition tpgInstrumentedFactory.cpp:60
TPG::TPGVertex
Abstract class representing the vertices of a TPGGraph.
Definition tpgVertex.h:55
TPG
Definition executionStats.h:44