The Gaudi Framework  v36r1 (3e2fb5a8)
AlgsExecutionStates::Iterator Class Referencefinal

#include </builds/gaudi/Gaudi/GaudiHive/src/AlgsExecutionStates.h>

Inheritance diagram for AlgsExecutionStates::Iterator:
Collaboration diagram for AlgsExecutionStates::Iterator:

Public Member Functions

 Iterator (State s, const std::vector< State > &v, std::vector< State >::const_iterator pos)
 
Iteratoroperator++ ()
 
Iteratoroperator++ (int)
 
uint operator* ()
 

Private Member Functions

auto find_valid (std::vector< State >::const_iterator iter) const
 

Private Attributes

State m_s
 
const std::vector< State > * m_v
 
std::vector< State >::const_iterator m_pos
 

Friends

bool operator== (const Iterator &lhs, const Iterator &rhs)
 
bool operator!= (const Iterator &lhs, const Iterator &rhs)
 

Detailed Description

Definition at line 88 of file AlgsExecutionStates.h.

Constructor & Destructor Documentation

◆ Iterator()

AlgsExecutionStates::Iterator::Iterator ( State  s,
const std::vector< State > &  v,
std::vector< State >::const_iterator  pos 
)
inline

Definition at line 92 of file AlgsExecutionStates.h.

93  : m_s( s ), m_v( &v ), m_pos( find_valid( pos ) ) {}

Member Function Documentation

◆ find_valid()

auto AlgsExecutionStates::Iterator::find_valid ( std::vector< State >::const_iterator  iter) const
inlineprivate

Definition at line 89 of file AlgsExecutionStates.h.

89 { return std::find( iter, m_v->end(), m_s ); }

◆ operator*()

uint AlgsExecutionStates::Iterator::operator* ( )
inline

Definition at line 108 of file AlgsExecutionStates.h.

108 { return std::distance( m_v->begin(), m_pos ); }

◆ operator++() [1/2]

Iterator& AlgsExecutionStates::Iterator::operator++ ( )
inline

Definition at line 101 of file AlgsExecutionStates.h.

101  {
102  if ( m_pos != m_v->end() ) m_pos = find_valid( std::next( m_pos ) );
103  return *this;
104  }

◆ operator++() [2/2]

Iterator& AlgsExecutionStates::Iterator::operator++ ( int  )
inline

Definition at line 106 of file AlgsExecutionStates.h.

106 { return ++( *this ); }

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const Iterator lhs,
const Iterator rhs 
)
friend

Definition at line 99 of file AlgsExecutionStates.h.

99 { return !( lhs == rhs ); }

◆ operator==

bool operator== ( const Iterator lhs,
const Iterator rhs 
)
friend

Definition at line 95 of file AlgsExecutionStates.h.

95  {
96  return lhs.m_s == rhs.m_s && lhs.m_v == rhs.m_v && lhs.m_pos == rhs.m_pos;
97  }

Member Data Documentation

◆ m_pos

std::vector<State>::const_iterator AlgsExecutionStates::Iterator::m_pos
private

Definition at line 113 of file AlgsExecutionStates.h.

◆ m_s

State AlgsExecutionStates::Iterator::m_s
private

Definition at line 111 of file AlgsExecutionStates.h.

◆ m_v

const std::vector<State>* AlgsExecutionStates::Iterator::m_v
private

Definition at line 112 of file AlgsExecutionStates.h.


The documentation for this class was generated from the following file:
AlgsExecutionStates::Iterator::m_pos
std::vector< State >::const_iterator m_pos
Definition: AlgsExecutionStates.h:113
gaudirun.s
string s
Definition: gaudirun.py:328
std::find
T find(T... args)
AlgsExecutionStates::Iterator::m_v
const std::vector< State > * m_v
Definition: AlgsExecutionStates.h:112
std::distance
T distance(T... args)
AlgsExecutionStates::Iterator::find_valid
auto find_valid(std::vector< State >::const_iterator iter) const
Definition: AlgsExecutionStates.h:89
AlgsExecutionStates::Iterator::m_s
State m_s
Definition: AlgsExecutionStates.h:111
HistoDumpEx.v
v
Definition: HistoDumpEx.py:27
std::vector::begin
T begin(T... args)
std::vector::end
T end(T... args)
std::next
T next(T... args)