13 : evaluator(evaluator)
18 eventDispatchers.push_back( std::make_unique<BestFirstEntry>(evaluator) );
21 eventDispatchers.push_back( std::make_unique<GreedyEntry>(evaluator) );
24 eventDispatchers.push_back( std::make_unique<BestFirstExit>(evaluator) );
27 eventDispatchers.push_back( std::make_unique<GreedyExit>(evaluator) );
41 std::shared_ptr<Decision> best =
nullptr;
43 if (
auto event = eventDispatcher->dispatchEvent(systemState) ) {
44 if (
auto decision = dynamic_pointer_cast<Decision>(event) ) {
45 if ( decision->reward.has_value() ) {
50 else if ( decision->reward.value() > best->reward.value() ) {