# Ogre::MapIteratorWrapper< T, IteratorType > Class Template Reference

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

`#include <OgreIteratorWrapper.h>`

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

List of all members.

## Public Types

typedef IteratorWrapper< T, IteratorType, typename T::mapped_type >::ValueType | ValueType
| redefined ValueType for a map/set
typedef IteratorWrapper< T, IteratorType, typename T::mapped_type >::PointerType | PointerType
| redefined PointerType for a map/set
typedef T::value_type | PairType
| unused, just to make it clear that map/setvalue_type is not a ValueType
typedef T::key_type | KeyType
| type you expect to get by funktions like peekNextKey
typedef IteratorType | iterator
| typedef to fulfill container interface
typedef IteratorType | const_iterator
| typedef to fulfill container interface

## Public Member Functions

| MapIteratorWrapper (IteratorType start, IteratorType last)
| Constructor.
KeyType | peekNextKey (void) const
| Returns the next(=current) key element in the collection, without advancing to the next.
ValueType | peekNextValue () const
| Returns the next(=current) value element in the collection, without advancing to the next.
const PointerType | peekNextValuePtr () const
| Returns a pointer to the next/current value element in the collection, without advancing to the next afterwards.
ValueType | getNext ()
| Returns the next(=current) value element in the collection, and advances to the next.
bool | hasMoreElements () const
| Returns true if there are more items in the collection.
void | moveNext ()
| Moves the iterator on one element.
const IteratorType & | begin ()
| bookmark to the begin of the underlying collection
IteratorType & | current ()
| full access to the current iterator
const IteratorType & | end ()
| bookmark to the end (one behind the last element) of the underlying collection

## Protected Attributes

IteratorType | mBegin
IteratorType | mCurrent
IteratorType | mEnd

## Detailed Description

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

Prepiared IteratorWrapper for key-value container.

Parameters:

  | T | Container (map - or also set )
  | IteratorType | T::iterator or T::const_iterator

have a look at MapIterator and ConstMapIterator for a concrete usage

Definition at line 255 of file OgreIteratorWrapper.h.

## Member Typedef Documentation

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::const_iterator `[inherited]`

typedef to fulfill container interface

Userfull 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 82 of file OgreIteratorWrapper.h.

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::iterator `[inherited]`

typedef to fulfill container interface

Userfull 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 73 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>

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

type you expect to get by funktions like peekNextKey

Definition at line 267 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>

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

unused, just to make it clear that map/setvalue_type is not a ValueType

Definition at line 265 of file OgreIteratorWrapper.h.

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

Reimplemented from Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >.

Definition at line 262 of file OgreIteratorWrapper.h.

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

Reimplemented from Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >.

Definition at line 260 of file OgreIteratorWrapper.h.

## Constructor & Destructor Documentation

template<typename T, typename IteratorType>

Ogre::MapIteratorWrapper< T, IteratorType >::MapIteratorWrapper | ( | IteratorType | start,
|  | IteratorType | last |
| ) |  |  |

Constructor.

Remarks:
  Provide a start and end iterator to initialise.

Definition at line 273 of file OgreIteratorWrapper.h.

## Member Function Documentation

const IteratorType& Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::begin | ( |  | ) | `[inherited]`

bookmark to the begin of the underlying collection

Definition at line 112 of file OgreIteratorWrapper.h.

References Ogre::IteratorWrapper< T, IteratorType, ValType >::mBegin.

IteratorType& Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::current | ( |  | ) | `[inherited]`

full access to the current iterator

Definition at line 116 of file OgreIteratorWrapper.h.

References Ogre::IteratorWrapper< T, IteratorType, ValType >::mCurrent.

const IteratorType& Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::end | ( | void |  | ) | `[inherited]`

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

Definition at line 119 of file OgreIteratorWrapper.h.

References Ogre::IteratorWrapper< T, IteratorType, ValType >::mEnd.

template<typename T, typename IteratorType>

ValueType Ogre::MapIteratorWrapper< T, IteratorType >::getNext | ( |  | ) |

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

Definition at line 301 of file OgreIteratorWrapper.h.

Referenced by Ogre::RenderQueueGroup::merge().

bool Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::hasMoreElements | ( |  | ) | const`[inherited]`

Returns true if there are more items in the collection.

Definition at line 99 of file OgreIteratorWrapper.h.

References Ogre::IteratorWrapper< T, IteratorType, ValType >::mCurrent, and Ogre::IteratorWrapper< T, IteratorType, ValType >::mEnd.

void Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::moveNext | ( |  | ) | `[inherited]`

Moves the iterator on one element.

Definition at line 106 of file OgreIteratorWrapper.h.

References Ogre::IteratorWrapper< T, IteratorType, ValType >::mCurrent.

template<typename T, typename IteratorType>

KeyType Ogre::MapIteratorWrapper< T, IteratorType >::peekNextKey | ( | void |  | ) | const

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

Definition at line 279 of file OgreIteratorWrapper.h.

Referenced by Ogre::RenderQueueGroup::merge().

template<typename T, typename IteratorType>

ValueType Ogre::MapIteratorWrapper< T, IteratorType >::peekNextValue | ( |  | ) | const

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

Definition at line 286 of file OgreIteratorWrapper.h.

template<typename T, typename IteratorType>

const PointerType Ogre::MapIteratorWrapper< T, IteratorType >::peekNextValuePtr | ( |  | ) | const

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

Definition at line 294 of file OgreIteratorWrapper.h.

## Member Data Documentation

IteratorType Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::mBegin `[protected, inherited]`

Definition at line 54 of file OgreIteratorWrapper.h.

IteratorType Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::mCurrent `[protected, inherited]`

Definition at line 55 of file OgreIteratorWrapper.h.

Referenced by Ogre::MapIteratorWrapper< T, T::const_iterator >::getNext(), Ogre::MapIteratorWrapper< T, T::const_iterator >::peekNextKey(), Ogre::MapIteratorWrapper< T, T::const_iterator >::peekNextValue(), and Ogre::MapIteratorWrapper< T, T::const_iterator >::peekNextValuePtr().

IteratorType Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::mEnd `[protected, inherited]`

Definition at line 56 of file OgreIteratorWrapper.h.

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

- OgreIteratorWrapper.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:24:56