#include <src/PRGraph/Visitors/Promoters.h>
Definition at line 87 of file Promoters.h.
◆ RunSimulator()
| concurrency::RunSimulator::RunSimulator |
( |
EventSlot & |
slot, |
|
|
const Cause & |
cause |
|
) |
| |
|
inline |
◆ reset()
| void concurrency::RunSimulator::reset |
( |
| ) |
|
|
inlineoverridevirtual |
◆ visit() [1/6]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [2/6]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [3/6]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [4/6]
| virtual bool concurrency::IGraphVisitor::visit |
|
inline |
◆ visit() [5/6]
| bool concurrency::RunSimulator::visit |
( |
DecisionNode & |
node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 366 of file Promoters.cpp.
368 bool allChildDecisionsResolved =
true;
370 for (
const auto& child : node.getDaughters() ) {
372 child->accept( *
this );
375 if ( childDecision == -1 ) allChildDecisionsResolved =
false;
378 if ( !node.m_modeConcurrent && childDecision == -1 )
return false;
380 if ( childDecision == 1 && node.m_modeOR && node.m_modePromptDecision ) {
384 for (
auto parent : node.m_parents ) { parent->accept( *
this ); }
389 if ( allChildDecisionsResolved ) {
393 for (
auto parent : node.m_parents ) { parent->accept( *
this ); }
396 return allChildDecisionsResolved;
std::vector< int > controlFlowState
State of the control flow.
◆ visit() [6/6]
Reimplemented from concurrency::IGraphVisitor.
Definition at line 407 of file Promoters.cpp.
414 if ( AState::INITIAL == states[node.getAlgoIndex()] ) {
415 states.set( node.getAlgoIndex(), AState::CONTROLREADY );
416 if ( dataPromoter.visit( node ) ) {
417 states.set( node.getAlgoIndex(), AState::SCHEDULED );
418 states.set( node.getAlgoIndex(), AState::EVTACCEPTED );
424 }
else if ( AState::CONTROLREADY == states[node.getAlgoIndex()] && dataPromoter.visit( node ) ) {
425 states.set( node.getAlgoIndex(), AState::SCHEDULED );
426 states.set( node.getAlgoIndex(), AState::EVTACCEPTED );
std::vector< int > controlFlowState
State of the control flow.
AlgsExecutionStates algsStates
Vector of algorithms states.
◆ visitEnter() [1/6]
| virtual bool concurrency::IGraphVisitor::visitEnter |
|
inline |
◆ visitEnter() [2/6]
| virtual bool concurrency::IGraphVisitor::visitEnter |
|
inline |
◆ visitEnter() [3/6]
| virtual bool concurrency::IGraphVisitor::visitEnter |
|
inline |
◆ visitEnter() [4/6]
| virtual bool concurrency::IGraphVisitor::visitEnter |
|
inline |
◆ visitEnter() [5/6]
| bool concurrency::RunSimulator::visitEnter |
( |
DecisionNode & |
node | ) |
const |
|
overridevirtual |
◆ visitEnter() [6/6]
| bool concurrency::RunSimulator::visitEnter |
( |
AlgorithmNode & |
node | ) |
const |
|
overridevirtual |
◆ m_cause
| Cause concurrency::RunSimulator::m_cause |
◆ m_nodesSucceeded
| int concurrency::RunSimulator::m_nodesSucceeded {0} |
◆ m_slot
The documentation for this class was generated from the following files: