Go to the documentation of this file.
11 #ifndef GAUDIHIVE_ALGSEXECUTIONSTATES_H
12 #define GAUDIHIVE_ALGSEXECUTIONSTATES_H
20 #include <initializer_list>
70 [
l](
State s ) { return std::find( l.begin(), l.end(), s ) != l.end(); } );
127 case State::CONTROLREADY:
130 case State::DATAREADY:
133 case State::RESOURCELESS:
136 case State::SCHEDULED:
139 case State::EVTACCEPTED:
142 case State::EVTREJECTED:
154 #endif // GAUDIHIVE_ALGSEXECUTIONSTATES_H
std::vector< State >::const_iterator m_pos
const std::vector< State > * m_v
Iterator(State s, const std::vector< State > &v, std::vector< State >::const_iterator pos)
SmartIF< IMessageSvc > m_MS
State
Allowed states for classes implementing the state machine (ApplicationMgr, Algorithm,...
friend bool operator==(const Iterator &lhs, const Iterator &rhs)
std::vector< State > m_states
Iterator begin(State kind)
std::ostream & operator<<(std::ostream &s, AlgsExecutionStates::State x)
Streaming of State values.
auto find_valid(std::vector< State >::const_iterator iter) const
Iterator & operator++(int)
AlgsExecutionStates(unsigned int algsNumber, SmartIF< IMessageSvc > MS)
bool contains(State state) const
check if the collection contains at least one state of requested type
bool containsAny(std::initializer_list< State > l) const
check if the collection contains at least one state of any listed types
StatusCode set(unsigned int iAlgo, State newState)
State
Execution states of the algorithms Must have contiguous integer values 0, 1...
T find_first_of(T... args)
friend bool operator!=(const Iterator &lhs, const Iterator &rhs)
size_t sizeOfSubset(State state) const
bool containsOnly(std::initializer_list< State > l) const
check if the collection contains only states of listed types
const State & operator[](unsigned int i) const