#include <src/PRGraph/Visitors/Promoters.h>
Definition at line 77 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 356 of file Promoters.cpp.
358 bool allChildDecisionsResolved =
true;
360 for (
const auto& child : node.getDaughters() ) {
362 child->accept( *
this );
365 if ( childDecision == -1 ) allChildDecisionsResolved =
false;
368 if ( !node.m_modeConcurrent && childDecision == -1 )
return false;
370 if ( childDecision == 1 && node.m_modeOR && node.m_modePromptDecision ) {
374 for (
auto parent : node.m_parents ) { parent->accept( *
this ); }
379 if ( allChildDecisionsResolved ) {
383 for (
auto parent : node.m_parents ) { parent->accept( *
this ); }
386 return allChildDecisionsResolved;
std::vector< int > controlFlowState
State of the control flow.
◆ visit() [6/6]
Reimplemented from concurrency::IGraphVisitor.
Definition at line 397 of file Promoters.cpp.
404 if ( AState::INITIAL == states[node.getAlgoIndex()] ) {
405 states.set( node.getAlgoIndex(), AState::CONTROLREADY );
406 if ( dataPromoter.visit( node ) ) {
407 states.set( node.getAlgoIndex(), AState::SCHEDULED );
408 states.set( node.getAlgoIndex(), AState::EVTACCEPTED );
414 }
else if ( AState::CONTROLREADY == states[node.getAlgoIndex()] && dataPromoter.visit( node ) ) {
415 states.set( node.getAlgoIndex(), AState::SCHEDULED );
416 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: