OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
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 >:

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

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

Member Typedef Documentation

◆ const_iterator

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.

◆ iterator

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.

◆ PointerType

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

◆ ValueType

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

Constructor & Destructor Documentation

◆ VectorIteratorWrapper()

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

c'tor

Constructor that provide a start and end iterator to initialise.

Parameters
startStart iterator
lastEnd iterator

Member Function Documentation

◆ begin()

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

Bookmark to the begin of the underlying collection.

◆ current()

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

Full access to the current iterator.

◆ end()

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

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

◆ getNext()

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

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

Referenced by Ogre::Lod0Stripifier::StripLod0Vertices().

◆ hasMoreElements()

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

Returns true if there are more items in the collection.

◆ moveNext()

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

Moves the iterator on one element.

◆ peekNext()

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

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

◆ peekNextPtr()

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

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


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