GEGELATI
Public Member Functions | List of all members
TPG::TPGInstrumentedFactory Class Reference

#include <tpgInstrumentedFactory.h>

Inheritance diagram for TPG::TPGInstrumentedFactory:
TPG::TPGFactory

Public Member Functions

virtual std::shared_ptr< TPGGraphcreateTPGGraph (const Environment &env) const override
 
virtual TPGTeamcreateTPGTeam () const override
 Specialization of the method returning a TPGTeamInstrumented. More...
 
virtual TPGActioncreateTPGAction (const uint64_t id) const override
 Specialization of the method returning a TPGActionInstrumented. More...
 
virtual std::unique_ptr< TPGEdgecreateTPGEdge (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< TPGExecutionEnginecreateTPGExecutionEngine (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...
 
- Public Member Functions inherited from TPG::TPGFactory
virtual ~TPGFactory ()=default
 Default virtual destructor.
 
virtual std::shared_ptr< TPGGraphcreateTPGGraph (const Environment &env) const
 Create a TPGGraph with this TPGFactory. More...
 
virtual TPGTeamcreateTPGTeam () const
 Create a TPGTeam for a TPGGraph. More...
 
virtual TPGActioncreateTPGAction (const uint64_t id) const
 Create a TPGAction for a TPGGraph. More...
 
virtual std::unique_ptr< TPGEdgecreateTPGEdge (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::TPGExecutionEnginecreateTPGExecutionEngine (const Environment &env, Archive *arch=NULL) const
 Create a TPGExecutionEngine for a TPGGraph produced by this TPGFactory. More...
 

Detailed Description

Specialization of the TPGFactory class producing TPGTeamInstrumented, TPGActionInstrumented, TPGEdgeInstrumented, and TPGExecutionEngineInstrumented

Also contains a helper function for resetting the instrumentation of a TPGGraph.

Member Function Documentation

◆ clearUnusedTPGGraphElements()

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 TPGVertex with a number of visit equal to zero.
  • The TPGEdge with a number of traversal equal to zero.

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.

Parameters
[in]tpgReference to the TPGGraph whose TPGVertexInstrumentation and TPGEdge will be removed.

◆ createTPGAction()

TPG::TPGAction * TPG::TPGInstrumentedFactory::createTPGAction ( const uint64_t  id) const
overridevirtual

Specialization of the method returning a TPGActionInstrumented.

Reimplemented from TPG::TPGFactory.

◆ createTPGEdge()

std::unique_ptr< TPG::TPGEdge > TPG::TPGInstrumentedFactory::createTPGEdge ( const TPGVertex src,
const TPGVertex dest,
const std::shared_ptr< Program::Program prog 
) const
overridevirtual

Specialization of the method returning a TPGEdgeInstrumented.

Reimplemented from TPG::TPGFactory.

◆ createTPGExecutionEngine()

std::unique_ptr< TPG::TPGExecutionEngine > TPG::TPGInstrumentedFactory::createTPGExecutionEngine ( const Environment env,
Archive arch = NULL 
) const
overridevirtual

Specialization of the method returning a TPGExecutionEngineInstrumented

Reimplemented from TPG::TPGFactory.

◆ createTPGGraph()

std::shared_ptr< TPG::TPGGraph > TPG::TPGInstrumentedFactory::createTPGGraph ( const Environment env) const
overridevirtual

Specialization of the method returing the TPGGraph with a TPGInstrumentedFactory as an attribute.

Reimplemented from TPG::TPGFactory.

◆ createTPGTeam()

TPG::TPGTeam * TPG::TPGInstrumentedFactory::createTPGTeam ( ) const
overridevirtual

Specialization of the method returning a TPGTeamInstrumented.

Reimplemented from TPG::TPGFactory.

◆ resetTPGGraphCounters()

void TPG::TPGInstrumentedFactory::resetTPGGraphCounters ( const TPG::TPGGraph tpg) const

Reset all visit and traversal counters of a TPGGraph.

Parameters
[in]tpgthe TPGGraph whose TPGTeamInstrumented, TPGActionInstrumented, and TPGEdgeInstrumented will be reseted.The TPGGraph is const since all instrumentation counters are mutable.

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