The Gaudi Framework  v29r0 (ff2e7097)
concurrency::ControlFlowNode Class Referenceabstract

#include <src/PrecedenceRulesGraph.h>

Inheritance diagram for concurrency::ControlFlowNode:
Collaboration diagram for concurrency::ControlFlowNode:

Public Member Functions

 ControlFlowNode (PrecedenceRulesGraph &graph, unsigned int nodeIndex, const std::string &name)
 Constructor. More...
 
virtual ~ControlFlowNode ()
 Destructor. More...
 
virtual bool accept (IGraphVisitor &visitor)=0
 Visitor entry point. More...
 
virtual void printState (std::stringstream &output, AlgsExecutionStates &states, const std::vector< int > &node_decisions, const unsigned int &recursionLevel) const =0
 Print a string representing the control flow state. More...
 
const unsigned int & getNodeIndex () const
 Get node index. More...
 
const std::stringgetNodeName () const
 Get node name. More...
 

Public Attributes

PrecedenceRulesGraphm_graph
 

Protected Member Functions

std::string stateToString (const int &stateId) const
 Translation between state id and name. More...
 

Protected Attributes

unsigned int m_nodeIndex
 
std::string m_nodeName
 

Detailed Description

Definition at line 333 of file PrecedenceRulesGraph.h.

Constructor & Destructor Documentation

concurrency::ControlFlowNode::ControlFlowNode ( PrecedenceRulesGraph graph,
unsigned int  nodeIndex,
const std::string name 
)
inline

Constructor.

Definition at line 337 of file PrecedenceRulesGraph.h.

338  : m_graph( &graph ), m_nodeIndex( nodeIndex ), m_nodeName( name )
339  {
340  }
PrecedenceRulesGraph * m_graph
virtual concurrency::ControlFlowNode::~ControlFlowNode ( )
inlinevirtual

Destructor.

Definition at line 342 of file PrecedenceRulesGraph.h.

342 {}

Member Function Documentation

virtual bool concurrency::ControlFlowNode::accept ( IGraphVisitor visitor)
pure virtual

Visitor entry point.

Implemented in concurrency::AlgorithmNode, and concurrency::DecisionNode.

const unsigned int& concurrency::ControlFlowNode::getNodeIndex ( ) const
inline

Get node index.

Definition at line 350 of file PrecedenceRulesGraph.h.

350 { return m_nodeIndex; }
const std::string& concurrency::ControlFlowNode::getNodeName ( ) const
inline

Get node name.

Definition at line 352 of file PrecedenceRulesGraph.h.

352 { return m_nodeName; }
virtual void concurrency::ControlFlowNode::printState ( std::stringstream output,
AlgsExecutionStates states,
const std::vector< int > &  node_decisions,
const unsigned int &  recursionLevel 
) const
pure virtual

Print a string representing the control flow state.

Implemented in concurrency::AlgorithmNode, and concurrency::DecisionNode.

std::string ControlFlowNode::stateToString ( const int &  stateId) const
protected

Translation between state id and name.

Definition at line 16 of file PrecedenceRulesGraph.cpp.

17  {
18 
19  if ( 0 == stateId )
20  return "FALSE";
21  else if ( 1 == stateId )
22  return "TRUE";
23  else
24  return "UNDEFINED";
25  }

Member Data Documentation

PrecedenceRulesGraph* concurrency::ControlFlowNode::m_graph

Definition at line 355 of file PrecedenceRulesGraph.h.

unsigned int concurrency::ControlFlowNode::m_nodeIndex
protected

Definition at line 360 of file PrecedenceRulesGraph.h.

std::string concurrency::ControlFlowNode::m_nodeName
protected

Definition at line 361 of file PrecedenceRulesGraph.h.


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