28#ifndef __Ogre_Iterator_Wrapper_H__
29#define __Ogre_Iterator_Wrapper_H__
46template <
typename T,
typename IteratorType,
typename ValType>
134template <
typename T,
typename IteratorType>
152 :
IteratorWrapper<T, IteratorType, typename T::value_type>( start, last )
252template <
typename T,
typename IteratorType>
272 :
IteratorWrapper<T, IteratorType, typename T::mapped_type>( start, last )
301 return ((this->
mCurrent++)->second) ;
326 MapIterator(
typename T::iterator start,
typename T::iterator last )
ConstMapIterator(typename T::const_iterator start, typename T::const_iterator last)
Constructor.
ConstMapIterator(const T &c)
Constructor.
ConstVectorIterator(const T &c)
Constructor.
ConstVectorIterator(typename T::const_iterator start, typename T::const_iterator last)
Constructor.
IteratorType iterator
Typedef to fulfill container interface.
const IteratorType & begin()
Bookmark to the begin of the underlying collection.
IteratorType & current()
Full access to the current iterator.
IteratorType const_iterator
Typedef to fulfill container interface.
ValType * PointerType
Type you expect to get by funktions like peekNext(Value)Ptr.
ValType ValueType
Type you expect to get by funktions like peekNext(Value)
const IteratorType & end()
Bookmark to the end (one behind the last element) of the underlying collection.
IteratorWrapper()
Private constructor since only the parameterised constructor should be used.
IteratorWrapper(IteratorType start, IteratorType last)
Constructor.
void moveNext()
Moves the iterator on one element.
bool hasMoreElements() const
Returns true if there are more items in the collection.
KeyType peekNextKey(void) const
Returns the next(=current) key element in the collection, without advancing to the next.
ValueType getNext()
Returns the next(=current) value element in the collection, and advances to the next.
MapIteratorWrapper(IteratorType start, IteratorType last)
Constructor.
IteratorWrapper< T, IteratorType, typenameT::mapped_type >::ValueType ValueType
Redefined ValueType for a map/set.
T::value_type PairType
Unused, just to make it clear that map/set::value_type is not a ValueType.
const PointerType peekNextValuePtr() const
Returns a pointer to the next/current value 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.
T::key_type KeyType
Type you expect to get by funktions like peekNextKey.
IteratorWrapper< T, IteratorType, typenameT::mapped_type >::PointerType PointerType
Redefined PointerType for a map/set.
MapIterator(typename T::iterator start, typename T::iterator last)
Constructor.
MapIterator(T &c)
Constructor.
ValueType getNext()
Returns the next(=current) value element in the collection, and advances to the next.
IteratorWrapper< T, IteratorType, typenameT::value_type >::ValueType ValueType
VectorIteratorWrapper(IteratorType start, IteratorType last)
c'tor
IteratorWrapper< T, IteratorType, typenameT::value_type >::PointerType PointerType
PointerType peekNextPtr() const
Returns a pointer to the next(=current) element in the collection, without advancing to the next afte...
ValueType peekNext() const
Returns the next(=current) element in the collection, without advancing to the next.
VectorIterator(typename T::iterator start, typename T::iterator last)
Constructor.
VectorIterator(T &c)
Constructor.