Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::MapIterator< T > Class Template Reference

Wraps iteration over a map. More...

#include <OgreIteratorWrappers.h>

List of all members.

Public Types

typedef T::mapped_type MappedType
typedef T::key_type KeyType

Public Member Functions

 MapIterator (typename T::iterator start, typename T::iterator end)
 Constructor.

bool hasMoreElements (void) const
 Returns true if there are more items in the collection.

T::mapped_type getNext (void)
 Returns the next value element in the collection, and advances to the next.

T::mapped_type peekNextValue (void)
 Returns the next value element in the collection, without advancing to the next.

T::key_type peekNextKey (void)
 Returns the next key element in the collection, without advancing to the next.

MapIterator< T > & operator= (MapIterator< T > &rhs)
 Required to overcome intermittent bug.

T::pointer peekNextValuePtr (void)
 Returns a pointer to the next value element in the collection, without advancing to the next afterwards.

void moveNext (void)
 Moves the iterator on one element.


Private Member Functions

 MapIterator ()
 Private constructor since only the parameterised constructor should be used.


Private Attributes

T::iterator mCurrent
T::iterator mEnd


Detailed Description

template<class T>
class Ogre::MapIterator< T >

Wraps iteration over a map.

Remarks:
This class is here just to allow clients to iterate over an internal map of a class without having to have access to the map itself (typically to iterate you need both the iterator and the end() iterator to test for the end condition, which is messy). No updates are allowed through this interface, it is purely for iterating and reading.
Note that like STL iterators, these iterators are only valid whilst no updates are made to the underlying collection. You should not attempt to use this iterator if a change is made to the collection. In fact, treat this iterator as a transient object, do NOT store it and try to use it repeatedly.

Definition at line 112 of file OgreIteratorWrappers.h.


Member Typedef Documentation

template<class T>
typedef T::key_type Ogre::MapIterator< T >::KeyType
 

Definition at line 121 of file OgreIteratorWrappers.h.

template<class T>
typedef T::mapped_type Ogre::MapIterator< T >::MappedType
 

Definition at line 120 of file OgreIteratorWrappers.h.


Constructor & Destructor Documentation

template<class T>
Ogre::MapIterator< T >::MapIterator  )  [private]
 

Private constructor since only the parameterised constructor should be used.

Definition at line 118 of file OgreIteratorWrappers.h.

template<class T>
Ogre::MapIterator< T >::MapIterator typename T::iterator  start,
typename T::iterator  end
 

Constructor.

Remarks:
Provide a start and end iterator to initialise.

Definition at line 127 of file OgreIteratorWrappers.h.


Member Function Documentation

template<class T>
T::mapped_type Ogre::MapIterator< T >::getNext void   ) 
 

Returns the next value element in the collection, and advances to the next.

Definition at line 139 of file OgreIteratorWrappers.h.

template<class T>
bool Ogre::MapIterator< T >::hasMoreElements void   )  const
 

Returns true if there are more items in the collection.

Definition at line 133 of file OgreIteratorWrappers.h.

template<class T>
void Ogre::MapIterator< T >::moveNext void   ) 
 

Moves the iterator on one element.

Definition at line 167 of file OgreIteratorWrappers.h.

template<class T>
MapIterator<T>& Ogre::MapIterator< T >::operator= MapIterator< T > &  rhs  ) 
 

Required to overcome intermittent bug.

Definition at line 154 of file OgreIteratorWrappers.h.

References Ogre::MapIterator< T >::mCurrent, and Ogre::MapIterator< T >::mEnd.

template<class T>
T::key_type Ogre::MapIterator< T >::peekNextKey void   ) 
 

Returns the next key element in the collection, without advancing to the next.

Definition at line 149 of file OgreIteratorWrappers.h.

template<class T>
T::mapped_type Ogre::MapIterator< T >::peekNextValue void   ) 
 

Returns the next value element in the collection, without advancing to the next.

Definition at line 144 of file OgreIteratorWrappers.h.

template<class T>
T::pointer Ogre::MapIterator< T >::peekNextValuePtr void   ) 
 

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

Definition at line 162 of file OgreIteratorWrappers.h.


Member Data Documentation

template<class T>
T::iterator Ogre::MapIterator< T >::mCurrent [private]
 

Definition at line 115 of file OgreIteratorWrappers.h.

Referenced by Ogre::ConstMapIterator< T >::operator=(), and Ogre::MapIterator< T >::operator=().

template<class T>
T::iterator Ogre::MapIterator< T >::mEnd [private]
 

Definition at line 116 of file OgreIteratorWrappers.h.

Referenced by Ogre::ConstMapIterator< T >::operator=(), and Ogre::MapIterator< T >::operator=().


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:00:51 2006