| The Gaudi Framework v32r1 (f65d50dc)

Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
AlgsExecutionStates::Iterator Class Referencefinal

`#include <src/AlgsExecutionStates.h>`

Inheritance diagram for AlgsExecutionStates::Iterator:
[legend]
Collaboration diagram for AlgsExecutionStates::Iterator:
[legend]

## Public Member Functions
| Iterator (State s, const std::vector< State > &v, std::vector< State >::const_iterator pos)
Iterator & | operator++ ()
Iterator & | operator++ (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 75 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 79 of file AlgsExecutionStates.h.

80 : m_s( s ), m_v( &v ), m_pos( find_valid( pos ) ) {}
AlgsExecutionStates::Iterator::m_v
const std::vector< State > * m_v
Definition: AlgsExecutionStates.h:99
AlgsExecutionStates::Iterator::m_s
State m_s
Definition: AlgsExecutionStates.h:98
AlgsExecutionStates::Iterator::find_valid
auto find_valid(std::vector< State >::const_iterator iter) const
Definition: AlgsExecutionStates.h:76
gaudirun.s
string s
Definition: gaudirun.py:316
AlgsExecutionStates::Iterator::m_pos
std::vector< State >::const_iterator m_pos
Definition: AlgsExecutionStates.h:100

## Member Function Documentation

## ◆ find_valid()

auto AlgsExecutionStates::Iterator::find_valid | ( | std::vector< State >::const_iterator | iter | ) | const
| inline private

Definition at line 76 of file AlgsExecutionStates.h.

76 { return std::find( iter, m_v->end(), m_s ); }
AlgsExecutionStates::Iterator::m_v
const std::vector< State > * m_v
Definition: AlgsExecutionStates.h:99
std::vector::end
T end(T... args)
AlgsExecutionStates::Iterator::m_s
State m_s
Definition: AlgsExecutionStates.h:98
std::find
T find(T... args)

## ◆ operator *()

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

Definition at line 95 of file AlgsExecutionStates.h.

95 { return std::distance( m_v->begin(), m_pos ); }
std::distance
T distance(T... args)
AlgsExecutionStates::Iterator::m_v
const std::vector< State > * m_v
Definition: AlgsExecutionStates.h:99
std::vector::begin
T begin(T... args)
AlgsExecutionStates::Iterator::m_pos
std::vector< State >::const_iterator m_pos
Definition: AlgsExecutionStates.h:100

## ◆ operator++() [1/2]

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

Definition at line 88 of file AlgsExecutionStates.h.

88 {
89 if ( m_pos != m_v->end() ) m_pos = find_valid( std::next( m_pos ) );
90 return *this;
91 }
AlgsExecutionStates::Iterator::m_v
const std::vector< State > * m_v
Definition: AlgsExecutionStates.h:99
std::vector::end
T end(T... args)
std::next
T next(T... args)
AlgsExecutionStates::Iterator::find_valid
auto find_valid(std::vector< State >::const_iterator iter) const
Definition: AlgsExecutionStates.h:76
AlgsExecutionStates::Iterator::m_pos
std::vector< State >::const_iterator m_pos
Definition: AlgsExecutionStates.h:100

## ◆ operator++() [2/2]

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

Definition at line 93 of file AlgsExecutionStates.h.

93 { return ++( *this ); }

## Friends And Related Function Documentation

## ◆ operator!=

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

Definition at line 86 of file AlgsExecutionStates.h.

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

## ◆ operator==

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

Definition at line 82 of file AlgsExecutionStates.h.

82 {
83 return lhs.m_s == rhs.m_s && lhs.m_v == rhs.m_v && lhs.m_pos == rhs.m_pos;
84 }

## Member Data Documentation

## ◆ m_pos

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

Definition at line 100 of file AlgsExecutionStates.h.

## ◆ m_s

State AlgsExecutionStates::Iterator::m_s
| private

Definition at line 98 of file AlgsExecutionStates.h.

## ◆ m_v

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

Definition at line 99 of file AlgsExecutionStates.h.

The documentation for this class was generated from the following file:

- GaudiHive/src/AlgsExecutionStates.h