ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
NavigableVectorIterator< OBJCT, STORE > Class Template Reference

#include <NavigableVectorIterator.h>

Collaboration diagram for NavigableVectorIterator< OBJCT, STORE >:

Public Types

typedef OBJCT object_type
 
typedef STORE store_type
 
typedef store_type::const_iterator store_const_iter
 

Public Member Functions

 NavigableVectorIterator ()
 
 NavigableVectorIterator (const store_type *aStore)
 
 NavigableVectorIterator (const store_type &aStore)
 
virtual ~NavigableVectorIterator ()=default
 
NavigableVectorIterator begin ()
 
NavigableVectorIterator begin () const
 
NavigableVectorIterator end ()
 
NavigableVectorIterator end () const
 
NavigableVectorIterator operator++ ()
 
NavigableVectorIterator operator++ (int)
 
NavigableVectorIterator operator-- ()
 
NavigableVectorIteratoroperator-- (int)
 
const object_typeoperator[] (int i)
 
const object_typeoperator[] (unsigned int i)
 
const object_typeoperator* ()
 
bool operator== (const NavigableVectorIterator &anIter) const
 
bool operator!= (const NavigableVectorIterator &anIter) const
 
NavigableVectorIteratorfind (const object_type *anObject)
 

Private Attributes

const store_typem_storePtr
 
store_const_iter m_actualIter
 

Detailed Description

template<typename OBJCT, typename STORE>
class NavigableVectorIterator< OBJCT, STORE >

Definition at line 14 of file NavigableVectorIterator.h.

Member Typedef Documentation

◆ object_type

template<typename OBJCT , typename STORE >
typedef OBJCT NavigableVectorIterator< OBJCT, STORE >::object_type

Definition at line 18 of file NavigableVectorIterator.h.

◆ store_const_iter

template<typename OBJCT , typename STORE >
typedef store_type::const_iterator NavigableVectorIterator< OBJCT, STORE >::store_const_iter

Definition at line 20 of file NavigableVectorIterator.h.

◆ store_type

template<typename OBJCT , typename STORE >
typedef STORE NavigableVectorIterator< OBJCT, STORE >::store_type

Definition at line 19 of file NavigableVectorIterator.h.

Constructor & Destructor Documentation

◆ NavigableVectorIterator() [1/3]

template<typename OBJCT , typename STORE >
NavigableVectorIterator< OBJCT, STORE >::NavigableVectorIterator ( )
inline

Definition at line 27 of file NavigableVectorIterator.h.

27 {};

◆ NavigableVectorIterator() [2/3]

template<typename OBJCT , typename STORE >
NavigableVectorIterator< OBJCT, STORE >::NavigableVectorIterator ( const store_type aStore)
inline

Definition at line 35 of file NavigableVectorIterator.h.

36  : m_storePtr(aStore)
37  , m_actualIter(aStore->begin())
38  { };

◆ NavigableVectorIterator() [3/3]

template<typename OBJCT , typename STORE >
NavigableVectorIterator< OBJCT, STORE >::NavigableVectorIterator ( const store_type aStore)
inline

Definition at line 40 of file NavigableVectorIterator.h.

41  : m_storePtr(&aStore)
42  , m_actualIter(aStore.begin())
43  { }

◆ ~NavigableVectorIterator()

template<typename OBJCT , typename STORE >
virtual NavigableVectorIterator< OBJCT, STORE >::~NavigableVectorIterator ( )
virtualdefault

Member Function Documentation

◆ begin() [1/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::begin ( )
inline

Definition at line 53 of file NavigableVectorIterator.h.

54  {
55  m_actualIter = m_storePtr->begin();
56  return *this;
57  }

◆ begin() [2/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::begin ( ) const
inline

Definition at line 58 of file NavigableVectorIterator.h.

59  {
60  m_actualIter = m_storePtr->begin();
61  return *this;
62  }

◆ end() [1/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::end ( )
inline

Definition at line 64 of file NavigableVectorIterator.h.

65  {
66  m_actualIter = m_storePtr->end();
67  return *this;
68  }

◆ end() [2/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::end ( ) const
inline

Definition at line 70 of file NavigableVectorIterator.h.

71  {
72  m_actualIter = m_storePtr->end();
73  return *this;
74  }

◆ find()

template<typename OBJCT , typename STORE >
NavigableVectorIterator& NavigableVectorIterator< OBJCT, STORE >::find ( const object_type anObject)
inline

Definition at line 126 of file NavigableVectorIterator.h.

127  {
128  bool found = false;
129  m_actualIter = m_storePtr->begin();
130  while ( ( ! found ) && m_actualIter != m_storePtr->end() )
131  {
132  found = *(*m_actualIter) == anObject;
133  if ( !found ) ++m_actualIter;
134  }
135  return *this;
136  }

◆ operator!=()

template<typename OBJCT , typename STORE >
bool NavigableVectorIterator< OBJCT, STORE >::operator!= ( const NavigableVectorIterator< OBJCT, STORE > &  anIter) const
inline

Definition at line 122 of file NavigableVectorIterator.h.

123  {
124  return m_actualIter != anIter.m_actualIter;
125  }

◆ operator*()

template<typename OBJCT , typename STORE >
const object_type* NavigableVectorIterator< OBJCT, STORE >::operator* ( )
inline

Definition at line 112 of file NavigableVectorIterator.h.

113  {
114  return *(*m_actualIter);
115  }

◆ operator++() [1/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::operator++ ( )
inline

Definition at line 77 of file NavigableVectorIterator.h.

78  {
79  ++m_actualIter;
80  return *this;
81  }

◆ operator++() [2/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::operator++ ( int  )
inline

Definition at line 82 of file NavigableVectorIterator.h.

83  {
84  ++m_actualIter;
85  return *this;
86  }

◆ operator--() [1/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator NavigableVectorIterator< OBJCT, STORE >::operator-- ( )
inline

Definition at line 87 of file NavigableVectorIterator.h.

88  {
89  --m_actualIter;
90  return *this;
91  }

◆ operator--() [2/2]

template<typename OBJCT , typename STORE >
NavigableVectorIterator& NavigableVectorIterator< OBJCT, STORE >::operator-- ( int  )
inline

Definition at line 92 of file NavigableVectorIterator.h.

93  {
94  --m_actualIter;
95  return *this--;
96  }

◆ operator==()

template<typename OBJCT , typename STORE >
bool NavigableVectorIterator< OBJCT, STORE >::operator== ( const NavigableVectorIterator< OBJCT, STORE > &  anIter) const
inline

Definition at line 118 of file NavigableVectorIterator.h.

119  {
120  return m_actualIter == anIter.m_actualIter;
121  }

◆ operator[]() [1/2]

template<typename OBJCT , typename STORE >
const object_type* NavigableVectorIterator< OBJCT, STORE >::operator[] ( int  i)
inline

Definition at line 99 of file NavigableVectorIterator.h.

100  {
101  return i >= 0 && i < m_storePtr->size()
102  ? (*m_storePtr)[i]
103  : 0;
104  }

◆ operator[]() [2/2]

template<typename OBJCT , typename STORE >
const object_type* NavigableVectorIterator< OBJCT, STORE >::operator[] ( unsigned int  i)
inline

Definition at line 106 of file NavigableVectorIterator.h.

107  {
108  return i < m_storePtr->size()
109  ? (*m_storePtr)[i]
110  : 0;
111  }

Member Data Documentation

◆ m_actualIter

template<typename OBJCT , typename STORE >
store_const_iter NavigableVectorIterator< OBJCT, STORE >::m_actualIter
private

Definition at line 141 of file NavigableVectorIterator.h.

◆ m_storePtr

template<typename OBJCT , typename STORE >
const store_type* NavigableVectorIterator< OBJCT, STORE >::m_storePtr
private

Definition at line 140 of file NavigableVectorIterator.h.


The documentation for this class was generated from the following file:
NavigableVectorIterator::m_actualIter
store_const_iter m_actualIter
Definition: NavigableVectorIterator.h:141
lumiFormat.i
int i
Definition: lumiFormat.py:92
NavigableVectorIterator::m_storePtr
const store_type * m_storePtr
Definition: NavigableVectorIterator.h:140
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101