ATLAS Offline Software
Loading...
Searching...
No Matches
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

◆ 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.

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 {
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 {
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 {
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 {
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 {
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 {
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: