shark::MultiSequenceIterator< SequenceContainer > Class Template Reference

Iterator which iterates of the elements of a nested sequence. More...

#include <shark/Core/utility/Iterators.h>

+ Inheritance diagram for shark::MultiSequenceIterator< SequenceContainer >:

Public Types

typedef Traits::inner_iterator inner_iterator
 

Public Member Functions

 MultiSequenceIterator ()
 
template<class OuterIter , class InnerIter >
 MultiSequenceIterator (OuterIter outerBegin, OuterIter outerEnd, OuterIter outerPosition, InnerIter innerPosition, std::size_t positionInSequence)
 
template<class S >
 MultiSequenceIterator (MultiSequenceIterator< S > const &other)
 
std::size_t index () const
 
inner_iterator getInnerIterator () const
 

Friends

class SHARK_ITERATOR_CORE_ACCESS
 
template<class >
class MultiSequenceIterator
 

Detailed Description

template<class SequenceContainer>
class shark::MultiSequenceIterator< SequenceContainer >

Iterator which iterates of the elements of a nested sequence.

Think about a sequence which is split in several parts. These parts are than stored into a new sequence. An example for this is std::deque or the Data class. This iterator let's you tierate over the elements of the sequence without having to care about that the sequence itself is splitted. The Sequences both have to be random access containers.

Definition at line 198 of file Iterators.h.

Member Typedef Documentation

§ inner_iterator

template<class SequenceContainer>
typedef Traits::inner_iterator shark::MultiSequenceIterator< SequenceContainer >::inner_iterator

Definition at line 208 of file Iterators.h.

Constructor & Destructor Documentation

§ MultiSequenceIterator() [1/3]

template<class SequenceContainer>
shark::MultiSequenceIterator< SequenceContainer >::MultiSequenceIterator ( )
inline

Definition at line 209 of file Iterators.h.

§ MultiSequenceIterator() [2/3]

template<class SequenceContainer>
template<class OuterIter , class InnerIter >
shark::MultiSequenceIterator< SequenceContainer >::MultiSequenceIterator ( OuterIter  outerBegin,
OuterIter  outerEnd,
OuterIter  outerPosition,
InnerIter  innerPosition,
std::size_t  positionInSequence 
)
inline

Definition at line 213 of file Iterators.h.

§ MultiSequenceIterator() [3/3]

template<class SequenceContainer>
template<class S >
shark::MultiSequenceIterator< SequenceContainer >::MultiSequenceIterator ( MultiSequenceIterator< S > const &  other)
inline

Definition at line 234 of file Iterators.h.

Member Function Documentation

§ getInnerIterator()

template<class SequenceContainer>
inner_iterator shark::MultiSequenceIterator< SequenceContainer >::getInnerIterator ( ) const
inline

Definition at line 243 of file Iterators.h.

§ index()

template<class SequenceContainer>
std::size_t shark::MultiSequenceIterator< SequenceContainer >::index ( ) const
inline

Definition at line 239 of file Iterators.h.

Friends And Related Function Documentation

§ MultiSequenceIterator

template<class SequenceContainer>
template<class >
friend class MultiSequenceIterator
friend

Definition at line 249 of file Iterators.h.

§ SHARK_ITERATOR_CORE_ACCESS

template<class SequenceContainer>
friend class SHARK_ITERATOR_CORE_ACCESS
friend

Definition at line 248 of file Iterators.h.


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