The Gaudi Framework
v29r0 (ff2e7097)
|
#include <src/PrecedenceRulesGraph.h>
Public Member Functions | |
DecisionNode (PrecedenceRulesGraph &graph, unsigned int nodeIndex, const std::string &name, bool modeConcurrent, bool modePromptDecision, bool modeOR, bool allPass) | |
Constructor. More... | |
~DecisionNode () override | |
Destructor. More... | |
bool | accept (IGraphVisitor &visitor) override |
Visitor entry point. More... | |
void | addParentNode (DecisionNode *node) |
Add a parent node. More... | |
void | addDaughterNode (ControlFlowNode *node) |
Add a daughter node. More... | |
const std::vector< ControlFlowNode * > & | getDaughters () const |
Get children nodes. More... | |
void | printState (std::stringstream &output, AlgsExecutionStates &states, const std::vector< int > &node_decisions, const unsigned int &recursionLevel) const override |
Print a string representing the control flow state. More... | |
Public Member Functions inherited from concurrency::ControlFlowNode | |
ControlFlowNode (PrecedenceRulesGraph &graph, unsigned int nodeIndex, const std::string &name) | |
Constructor. More... | |
virtual | ~ControlFlowNode () |
Destructor. More... | |
const unsigned int & | getNodeIndex () const |
Get node index. More... | |
const std::string & | getNodeName () const |
Get node name. More... | |
Public Attributes | |
bool | m_modeConcurrent |
Whether all daughters will be evaluated concurrently or sequentially. More... | |
bool | m_modePromptDecision |
Whether to evaluate the hub decision ASA its child decisions allow to do that. More... | |
bool | m_modeOR |
Whether acting as "and" (false) or "or" node (true) More... | |
bool | m_allPass |
Whether always passing regardless of daughter results. More... | |
std::vector< ControlFlowNode * > | m_children |
All direct daughter nodes in the tree. More... | |
std::vector< DecisionNode * > | m_parents |
Direct parent nodes. More... | |
Public Attributes inherited from concurrency::ControlFlowNode | |
PrecedenceRulesGraph * | m_graph |
Additional Inherited Members | |
Protected Member Functions inherited from concurrency::ControlFlowNode | |
std::string | stateToString (const int &stateId) const |
Translation between state id and name. More... | |
Protected Attributes inherited from concurrency::ControlFlowNode | |
unsigned int | m_nodeIndex |
std::string | m_nodeName |
Definition at line 364 of file PrecedenceRulesGraph.h.
|
inline |
Constructor.
Definition at line 368 of file PrecedenceRulesGraph.h.
|
override |
Destructor.
Definition at line 28 of file PrecedenceRulesGraph.cpp.
|
overridevirtual |
Visitor entry point.
Implements concurrency::ControlFlowNode.
Definition at line 61 of file PrecedenceRulesGraph.cpp.
void concurrency::DecisionNode::addDaughterNode | ( | ControlFlowNode * | node | ) |
Add a daughter node.
Definition at line 42 of file PrecedenceRulesGraph.cpp.
void concurrency::DecisionNode::addParentNode | ( | DecisionNode * | node | ) |
Add a parent node.
Definition at line 35 of file PrecedenceRulesGraph.cpp.
|
inline |
Get children nodes.
Definition at line 389 of file PrecedenceRulesGraph.h.
|
overridevirtual |
Print a string representing the control flow state.
Implements concurrency::ControlFlowNode.
Definition at line 49 of file PrecedenceRulesGraph.cpp.
bool concurrency::DecisionNode::m_allPass |
Whether always passing regardless of daughter results.
Definition at line 403 of file PrecedenceRulesGraph.h.
std::vector<ControlFlowNode*> concurrency::DecisionNode::m_children |
All direct daughter nodes in the tree.
Definition at line 405 of file PrecedenceRulesGraph.h.
bool concurrency::DecisionNode::m_modeConcurrent |
Whether all daughters will be evaluated concurrently or sequentially.
Definition at line 396 of file PrecedenceRulesGraph.h.
bool concurrency::DecisionNode::m_modeOR |
Whether acting as "and" (false) or "or" node (true)
Definition at line 401 of file PrecedenceRulesGraph.h.
bool concurrency::DecisionNode::m_modePromptDecision |
Whether to evaluate the hub decision ASA its child decisions allow to do that.
Applicable to both concurrent and sequential cases.
Definition at line 399 of file PrecedenceRulesGraph.h.
std::vector<DecisionNode*> concurrency::DecisionNode::m_parents |
Direct parent nodes.
Definition at line 407 of file PrecedenceRulesGraph.h.