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