Ogre::IteratorWrapper< T, IteratorType, ValType > Class Template Reference

Basefunctionality for IteratorWrappers. More...

`#include <OgreIteratorWrapper.h>`

## Public Types

typedef IteratorType | const_iterator
| Typedef to fulfill container interface. More...
typedef IteratorType | iterator
| Typedef to fulfill container interface. More...
typedef ValType * | PointerType
| Type you expect to get by funktions like peekNext(Value)Ptr. More...
typedef ValType | ValueType
| Type you expect to get by funktions like peekNext(Value) More...

## Public Member Functions

| IteratorWrapper (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...
bool | hasMoreElements () const
| Returns true if there are more items in the collection. More...
void | moveNext ()
| Moves the iterator on one element. More...

## Protected Attributes

IteratorType | mBegin
IteratorType | mCurrent
IteratorType | mEnd

## Private Member Functions

| IteratorWrapper ()
| Private constructor since only the parameterised constructor should be used. More...

## Detailed Description

### template<typename T, typename IteratorType, typename ValType>
class Ogre::IteratorWrapper< T, IteratorType, ValType >

Basefunctionality for IteratorWrappers.

Template Parameters

  T | a Container like vector list map ...
  IteratorType | T::iterator or T::const_iterator
  ValType | T::mapped_type in case of a map, T::value_type for vector, list,...

Have a look at VectorIteratorWrapper and MapIteratorWrapper for a concrete usage

Definition at line 47 of file OgreIteratorWrapper.h.

## Member Typedef Documentation

## const_iterator

template<typename T, typename IteratorType, typename ValType>

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, ValType >::const_iterator

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.

## iterator

template<typename T, typename IteratorType, typename ValType>

typedef IteratorType Ogre::IteratorWrapper< T, IteratorType, ValType >::iterator

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.

## PointerType

template<typename T, typename IteratorType, typename ValType>

typedef ValType* Ogre::IteratorWrapper< T, IteratorType, ValType >::PointerType

Type you expect to get by funktions like peekNext(Value)Ptr.

Definition at line 65 of file OgreIteratorWrapper.h.

## ValueType

template<typename T, typename IteratorType, typename ValType>

typedef ValType Ogre::IteratorWrapper< T, IteratorType, ValType >::ValueType

Type you expect to get by funktions like peekNext(Value)

Definition at line 63 of file OgreIteratorWrapper.h.

## Constructor & Destructor Documentation

## IteratorWrapper() [1/2]

template<typename T, typename IteratorType, typename ValType>

Ogre::IteratorWrapper< T, IteratorType, ValType >::IteratorWrapper | ( |  | ) |

private

Private constructor since only the parameterised constructor should be used.

## IteratorWrapper() [2/2]

template<typename T, typename IteratorType, typename ValType>

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

Constructor.

Remarks
  Provide a start and end iterator to initialise.

Definition at line 90 of file OgreIteratorWrapper.h.

## Member Function Documentation

## begin()

template<typename T, typename IteratorType, typename ValType>

const IteratorType& Ogre::IteratorWrapper< T, IteratorType, ValType >::begin | ( |  | ) |

Bookmark to the begin of the underlying collection.

Definition at line 110 of file OgreIteratorWrapper.h.

## current()

template<typename T, typename IteratorType, typename ValType>

IteratorType& Ogre::IteratorWrapper< T, IteratorType, ValType >::current | ( |  | ) |

Full access to the current iterator.

Definition at line 114 of file OgreIteratorWrapper.h.

## end()

template<typename T, typename IteratorType, typename ValType>

const IteratorType& Ogre::IteratorWrapper< T, IteratorType, ValType >::end | ( |  | ) |

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

Definition at line 117 of file OgreIteratorWrapper.h.

## hasMoreElements()

template<typename T, typename IteratorType, typename ValType>

bool Ogre::IteratorWrapper< T, IteratorType, ValType >::hasMoreElements | ( |  | ) | const

Returns true if there are more items in the collection.

Definition at line 97 of file OgreIteratorWrapper.h.

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

## moveNext()

template<typename T, typename IteratorType, typename ValType>

void Ogre::IteratorWrapper< T, IteratorType, ValType >::moveNext | ( |  | ) |

Moves the iterator on one element.

Definition at line 104 of file OgreIteratorWrapper.h.

## Member Data Documentation

## mBegin

template<typename T, typename IteratorType, typename ValType>

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

protected

Definition at line 55 of file OgreIteratorWrapper.h.

Referenced by Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::begin().

## mCurrent

template<typename T, typename IteratorType, typename ValType>

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

protected

Definition at line 56 of file OgreIteratorWrapper.h.

Referenced by Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::current(), Ogre::VectorIteratorWrapper< T, T::const_iterator >::getNext(), Ogre::MapIteratorWrapper< T, T::const_iterator >::getNext(), Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::moveNext(), Ogre::VectorIteratorWrapper< T, T::const_iterator >::peekNext(), Ogre::MapIteratorWrapper< T, T::const_iterator >::peekNextKey(), Ogre::VectorIteratorWrapper< T, T::const_iterator >::peekNextPtr(), Ogre::MapIteratorWrapper< T, T::const_iterator >::peekNextValue(), and Ogre::MapIteratorWrapper< T, T::const_iterator >::peekNextValuePtr().

## mEnd

template<typename T, typename IteratorType, typename ValType>

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

protected

Definition at line 57 of file OgreIteratorWrapper.h.

Referenced by Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::end(), and Ogre::IteratorWrapper< T, IteratorType, T::mapped_type >::hasMoreElements().

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

- OgreIteratorWrapper.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.