28 #ifndef __Ogre_Iterator_Wrapper_H__
29 #define __Ogre_Iterator_Wrapper_H__
45 template <
typename T,
typename IteratorType,
typename ValType>
136 template <
typename T,
typename IteratorType>
154 :
IteratorWrapper<T, IteratorType, typename T::value_type>( start, last )
187 template <
typename T>
218 template <
typename T>
254 template <
typename T,
typename IteratorType>
274 :
IteratorWrapper<T, IteratorType, typename T::mapped_type>( start, last )
303 return ((this->
mCurrent++)->second) ;
320 template <
typename T>
328 MapIterator(
typename T::iterator start,
typename T::iterator last )
353 template <
typename T>
Basefunctionality for IteratorWrappers.
ValueType getNext()
Returns the next(=current) value element in the collection, and advances to the next.
IteratorWrapper< T, IteratorType, typename T::mapped_type >::ValueType ValueType
redefined ValueType for a map/set
const IteratorType & begin()
bookmark to the begin of the underlying collection
const PointerType peekNextValuePtr() const
Returns a pointer to the next/current value element in the collection, without advancing to the next ...
T::value_type PairType
unused, just to make it clear that map/set::value_type is not a ValueType
IteratorType const_iterator
typedef to fulfill container interface
const IteratorType & end()
bookmark to the end (one behind the last element) of the underlying collection
IteratorWrapper< T, IteratorType, typename T::value_type >::PointerType PointerType
IteratorType iterator
typedef to fulfill container interface
ValueType peekNext() const
Returns the next(=current) element in the collection, without advancing to the next.
Prepiared IteratorWrapper for container like std::vector.
IteratorWrapper()
Private constructor since only the parameterised constructor should be used.
IteratorWrapper< T, IteratorType, typename T::value_type >::ValueType ValueType
IteratorType & current()
full access to the current iterator
ConstVectorIterator(const T &c)
Constructor.
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
bool hasMoreElements() const
Returns true if there are more items in the collection.
PointerType peekNextPtr() const
Returns a pointer to the next(=current) element in the collection, without advancing to the next afte...
MapIteratorWrapper(IteratorType start, IteratorType last)
Constructor.
T::key_type KeyType
type you expect to get by funktions like peekNextKey
MapIterator(typename T::iterator start, typename T::iterator last)
Constructor.
IteratorWrapper(IteratorType start, IteratorType last)
Constructor.
KeyType peekNextKey(void) const
Returns the next(=current) key element in the collection, without advancing to the next...
Concrete IteratorWrapper for const access to the underlying container.
VectorIteratorWrapper(IteratorType start, IteratorType last)
c'tor
IteratorWrapper< T, IteratorType, typename T::mapped_type >::PointerType PointerType
redefined PointerType for a map/set
VectorIterator(typename T::iterator start, typename T::iterator last)
Constructor.
ValueType peekNextValue() const
Returns the next(=current) value element in the collection, without advancing to the next...
VectorIterator(T &c)
Constructor.
void moveNext()
Moves the iterator on one element.
Concrete IteratorWrapper for const access to the underlying key-value container.
ConstVectorIterator(typename T::const_iterator start, typename T::const_iterator last)
Constructor.
ValType * PointerType
type you expect to get by funktions like peekNext(Value)Ptr
ValueType getNext()
Returns the next(=current) value element in the collection, and advances to the next.
ValType ValueType
type you expect to get by funktions like peekNext(Value)
Concrete IteratorWrapper for nonconst access to the underlying container.
ConstMapIterator(typename T::const_iterator start, typename T::const_iterator last)
Constructor.
Prepiared IteratorWrapper for key-value container.
ConstMapIterator(const T &c)
Constructor.
MapIterator(T &c)
Constructor.