Public Types | Public Member Functions | Protected Attributes | List of all members
Ogre::VectorIteratorWrapper< T, IteratorType > Class Template Reference

Prepared IteratorWrapper for container like std::vector. More...

#include <OgreIteratorWrapper.h>

Inheritance diagram for Ogre::VectorIteratorWrapper< T, IteratorType >:
Inheritance graph
[legend]

Public Types

typedef IteratorType const_iterator
 Typedef to fulfill container interface. More...
 
typedef IteratorType iterator
 Typedef to fulfill container interface. More...
 
typedef IteratorWrapper< T,
IteratorType, typename
T::value_type >::PointerType 
PointerType
 
typedef IteratorWrapper< T,
IteratorType, typename
T::value_type >::ValueType 
ValueType
 

Public Member Functions

 VectorIteratorWrapper (IteratorType start, IteratorType last)
 c'tor More...
 
const IteratorType & begin ()
 Bookmark to the begin of the underlying collection. More...
 
IteratorType & current ()
 Full access to the current iterator. More...
 
const IteratorType & end ()
 Bookmark to the end (one behind the last element) of the underlying collection. More...
 
ValueType getNext ()
 Returns the next(=current) value element in the collection, and advances to the next. More...
 
bool hasMoreElements () const
 Returns true if there are more items in the collection. More...
 
void moveNext ()
 Moves the iterator on one element. More...
 
ValueType peekNext () const
 Returns the next(=current) element in the collection, without advancing to the next. More...
 
PointerType peekNextPtr () const
 Returns a pointer to the next(=current) element in the collection, without advancing to the next afterwards. More...
 

Protected Attributes

IteratorType mBegin
 
IteratorType mCurrent
 
IteratorType mEnd
 

Detailed Description

template<typename T, typename IteratorType>
class Ogre::VectorIteratorWrapper< T, IteratorType >

Prepared IteratorWrapper for container like std::vector.

Template Parameters
T= Container eg vector
IteratorTypeT::iterator or T::const_iterator

Have a look at VectorIterator and ConstVectorIterator for a more concrete usage

Definition at line 135 of file OgreIteratorWrapper.h.

Member Typedef Documentation

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, T::value_type >::const_iterator
inherited

Typedef to fulfill container interface.

Useful if you want to use BOOST_FOREACH

Note
there is no distinction between const_iterator and iterator.
keep this in mind if you want to derivate from this class.

Definition at line 83 of file OgreIteratorWrapper.h.

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, T::value_type >::iterator
inherited

Typedef to fulfill container interface.

Useful if you want to use BOOST_FOREACH

Note
there is no distinction between const_iterator and iterator.
keep this in mind if you want to derivate from this class.

Definition at line 74 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>
typedef IteratorWrapper<T, IteratorType, typename T::value_type>::PointerType Ogre::VectorIteratorWrapper< T, IteratorType >::PointerType

Definition at line 140 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>
typedef IteratorWrapper<T, IteratorType, typename T::value_type>::ValueType Ogre::VectorIteratorWrapper< T, IteratorType >::ValueType

Definition at line 139 of file OgreIteratorWrapper.h.

Constructor & Destructor Documentation

template<typename T, typename IteratorType>
Ogre::VectorIteratorWrapper< T, IteratorType >::VectorIteratorWrapper ( IteratorType  start,
IteratorType  last 
)

c'tor

Constructor that provide a start and end iterator to initialise.

Parameters
startStart iterator
lastEnd iterator

Definition at line 151 of file OgreIteratorWrapper.h.

Member Function Documentation

const IteratorType& Ogre::IteratorWrapper< T, IteratorType, T::value_type >::begin ( )
inherited

Bookmark to the begin of the underlying collection.

Definition at line 110 of file OgreIteratorWrapper.h.

IteratorType& Ogre::IteratorWrapper< T, IteratorType, T::value_type >::current ( )
inherited

Full access to the current iterator.

Definition at line 114 of file OgreIteratorWrapper.h.

const IteratorType& Ogre::IteratorWrapper< T, IteratorType, T::value_type >::end ( void  )
inherited

Bookmark to the end (one behind the last element) of the underlying collection.

Definition at line 117 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>
ValueType Ogre::VectorIteratorWrapper< T, IteratorType >::getNext ( )

Returns the next(=current) value element in the collection, and advances to the next.

Definition at line 170 of file OgreIteratorWrapper.h.

bool Ogre::IteratorWrapper< T, IteratorType, T::value_type >::hasMoreElements ( ) const
inherited

Returns true if there are more items in the collection.

Definition at line 97 of file OgreIteratorWrapper.h.

void Ogre::IteratorWrapper< T, IteratorType, T::value_type >::moveNext ( )
inherited

Moves the iterator on one element.

Definition at line 104 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>
ValueType Ogre::VectorIteratorWrapper< T, IteratorType >::peekNext ( ) const

Returns the next(=current) element in the collection, without advancing to the next.

Definition at line 158 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>
PointerType Ogre::VectorIteratorWrapper< T, IteratorType >::peekNextPtr ( ) const

Returns a pointer to the next(=current) element in the collection, without advancing to the next afterwards.

Definition at line 164 of file OgreIteratorWrapper.h.

Member Data Documentation

IteratorType Ogre::IteratorWrapper< T, IteratorType, T::value_type >::mBegin
protectedinherited

Definition at line 55 of file OgreIteratorWrapper.h.

IteratorType Ogre::IteratorWrapper< T, IteratorType, T::value_type >::mCurrent
protectedinherited
IteratorType Ogre::IteratorWrapper< T, IteratorType, T::value_type >::mEnd
protectedinherited

Definition at line 57 of file OgreIteratorWrapper.h.


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

Copyright © 2013 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sat Dec 14 2013 14:36:51