#include <src/PRGraphVisitors.h>
Definition at line 40 of file PRGraphVisitors.h.
| concurrency::Supervisor::Supervisor |
( |
EventSlot & |
slot | ) |
|
|
inline |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 92 of file PRGraphVisitors.cpp.
94 bool foundNonResolvedChild =
false;
95 bool foundNegativeChild =
false;
96 bool foundPositiveChild =
false;
99 for (
auto child : node.getDaughters()) {
102 if (childDecision == -1)
103 foundNonResolvedChild =
true;
104 else if (childDecision == 1)
105 foundPositiveChild =
true;
107 foundNegativeChild =
true;
109 if (node.m_modePromptDecision) {
110 if (node.m_modeOR && foundPositiveChild) {
113 }
else if (!node.m_modeOR && foundNegativeChild) {
118 if (foundNonResolvedChild)
123 if (!foundNonResolvedChild && decision == -1) {
125 if (foundPositiveChild) decision = 1;
128 if (foundNegativeChild) decision = 0;
133 if (node.m_allPass && !foundNonResolvedChild)
136 if (decision != -1) {
std::vector< int > controlFlowState
State of the control flow.
Reimplemented from concurrency::IGraphVisitor.
Definition at line 152 of file PRGraphVisitors.cpp.
157 auto&
state = states[node.getAlgoIndex()];
160 if ( State::INITIAL ==
state )
161 states.updateState( node.getAlgoIndex(), State::CONTROLREADY ).ignore();
164 if ( State::CONTROLREADY ==
state ) {
165 auto promoter = DataReadyPromoter(*
m_slot);
166 result = promoter.visit(node);
AlgsExecutionStates algsStates
Vector of algorithms states.
| bool concurrency::Supervisor::visitEnter |
( |
DecisionNode & |
node | ) |
const |
|
overridevirtual |
| bool concurrency::Supervisor::visitEnter |
( |
AlgorithmNode & |
node | ) |
const |
|
overridevirtual |
The documentation for this class was generated from the following files: