28 #ifndef __Ogre_Iterator_Wrapper_H__
29 #define __Ogre_Iterator_Wrapper_H__
46 template <
typename T,
typename IteratorType,
typename ValType>
134 template <
typename T,
typename IteratorType>
152 :
IteratorWrapper<T, IteratorType, typename T::value_type>( start, last )
185 template <
typename T>
216 template <
typename T>
252 template <
typename T,
typename IteratorType>
272 :
IteratorWrapper<T, IteratorType, typename T::mapped_type>( start, last )
301 return ((this->
mCurrent++)->second) ;
318 template <
typename T>
326 MapIterator(
typename T::iterator start,
typename T::iterator last )
351 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.
Prepared 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.
Prepared IteratorWrapper for key-value container.
ConstMapIterator(const T &c)
Constructor.
MapIterator(T &c)
Constructor.