70 search->second.push_back( lastIndex );
76 viewContext->setSubSlot( lastIndex );
constexpr tuple< _Elements &&... > forward_as_tuple(_Elements &&... __args) noexcept
constexpr std::remove_reference< _Tp >::type && move(_Tp &&__t) noexcept
constexpr piecewise_construct_t piecewise_construct
constexpr _OI move(_II __first, _II __last, _OI __result)
constexpr _ForwardIterator search(_ForwardIterator __first, _ForwardIterator __last, const _Searcher &__searcher)
constexpr void assign(_InputIterator __first, _InputIterator __last)
constexpr void clear() noexcept
constexpr size_type size() const noexcept
constexpr void reset(pointer __p=pointer()) noexcept
std::pair< iterator, bool > emplace(_Args &&... __args)
iterator find(const key_type &__x)
The AlgsExecutionStates encodes the state machine for the execution of algorithms within a single eve...
This class represents an entry point to all the event specific data.
Small smart pointer class with automatic reference counting for IInterface.
std::unique_ptr< EventContext > eventContext
Cache for the eventContext.
std::vector< EventSlot > allSubSlots
Actual sub-slot instances.
EventSlot(EventSlot &original, std::unique_ptr< EventContext > theeventContext, const std::string &nodeName)
Construct a (sub)slot, nested to 'original' parent slot, with CF states copied from the parent.
EventSlot * parentSlot
Pointer to parent slot (null for top level).
EventSlot(unsigned int numberOfAlgorithms, unsigned int numberOfControlFlowNodes, SmartIF< IMessageSvc > MS)
Construct a slot.
bool complete
Flags completion of the event.
std::string entryPoint
Event Views bookkeeping (TODO: optimize view bookkeeping).
void addSubSlot(std::unique_ptr< EventContext > viewContext, const std::string &nodeName)
Add a subslot to the slot (this constructs a new slot and registers it with the parent one).
EventSlot & operator=(EventSlot &&)=default
Move assignment.
std::unordered_map< std::string, std::vector< unsigned int > > subSlotsByNode
Listing of sub-slots by the node (name) they are attached to.
void reset(EventContext *theeventContext)
Reset all resources in order to reuse the slot (thread-unsafe).
AlgsExecutionStates algsStates
Vector of algorithms states.
void disableSubSlots(const std::string &nodeName)
Disable event views for a given CF view node by registering an empty container Contact B.
EventSlot(EventSlot &&)=default
Move constructor.
std::vector< int > controlFlowState
State of the control flow.
EventSlot & operator=(const EventSlot &)=delete
Assignment operator.
EventSlot(const EventSlot &)=delete
Copy constructor.