OGRE  2.2.4
Object-Oriented Graphics Rendering Engine
Ogre::MapIteratorWrapper< T, IteratorType > Class Template Reference

Prepared IteratorWrapper for key-value container. More...

#include <OgreIteratorWrapper.h>

+ Inheritance diagram for Ogre::MapIteratorWrapper< T, IteratorType >:

Public Types

typedef IteratorType const_iterator
 Typedef to fulfill container interface. More...
 
typedef IteratorType iterator
 Typedef to fulfill container interface. More...
 
typedef T::key_type KeyType
 Type you expect to get by funktions like peekNextKey. More...
 
typedef T::value_type PairType
 Unused, just to make it clear that map/set::value_type is not a ValueType. More...
 
typedef IteratorWrapper< T, IteratorType, typename T::mapped_type >::PointerType PointerType
 Redefined PointerType for a map/set. More...
 
typedef IteratorWrapper< T, IteratorType, typename T::mapped_type >::ValueType ValueType
 Redefined ValueType for a map/set. More...
 

Public Member Functions

 MapIteratorWrapper (IteratorType start, IteratorType last)
 Constructor. 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...
 
KeyType peekNextKey (void) const
 Returns the next(=current) key element in the collection, without advancing to the next. More...
 
ValueType peekNextValue () const
 Returns the next(=current) value element in the collection, without advancing to the next. More...
 
const PointerType peekNextValuePtr () const
 Returns a pointer to the next/current value element in the collection, without advancing to the next afterwards. More...
 

Detailed Description

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

Prepared IteratorWrapper for key-value container.

Template Parameters
TContainer (map - or also set )
IteratorTypeT::iterator or T::const_iterator

Have a look at MapIterator and ConstMapIterator for a concrete usage

Member Typedef Documentation

◆ const_iterator

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, T::mapped_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::mapped_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.

◆ KeyType

template<typename T, typename IteratorType>
typedef T::key_type Ogre::MapIteratorWrapper< T, IteratorType >::KeyType

Type you expect to get by funktions like peekNextKey.

◆ PairType

template<typename T, typename IteratorType>
typedef T::value_type Ogre::MapIteratorWrapper< T, IteratorType >::PairType

Unused, just to make it clear that map/set::value_type is not a ValueType.

◆ PointerType

template<typename T, typename IteratorType>
typedef IteratorWrapper<T, IteratorType, typename T::mapped_type>::PointerType Ogre::MapIteratorWrapper< T, IteratorType >::PointerType

Redefined PointerType for a map/set.

◆ ValueType

template<typename T, typename IteratorType>
typedef IteratorWrapper<T, IteratorType, typename T::mapped_type>::ValueType Ogre::MapIteratorWrapper< T, IteratorType >::ValueType

Redefined ValueType for a map/set.

Constructor & Destructor Documentation

◆ MapIteratorWrapper()

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

Constructor.

Remarks
Provide a start and end iterator to initialise.

Member Function Documentation

◆ begin()

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

Bookmark to the begin of the underlying collection.

◆ current()

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

Full access to the current iterator.

◆ end()

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

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

◆ getNext()

template<typename T, typename IteratorType>
ValueType Ogre::MapIteratorWrapper< 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::mapped_type >::hasMoreElements ( ) const
inlineinherited

Returns true if there are more items in the collection.

◆ moveNext()

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

Moves the iterator on one element.

◆ peekNextKey()

template<typename T, typename IteratorType>
KeyType Ogre::MapIteratorWrapper< T, IteratorType >::peekNextKey ( void  ) const
inline

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

◆ peekNextValue()

template<typename T, typename IteratorType>
ValueType Ogre::MapIteratorWrapper< T, IteratorType >::peekNextValue ( ) const
inline

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

◆ peekNextValuePtr()

template<typename T, typename IteratorType>
const PointerType Ogre::MapIteratorWrapper< T, IteratorType >::peekNextValuePtr ( ) const
inline

Returns a pointer to the next/current value element in the collection, without advancing to the next afterwards.


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