Ogre::iterator_range< T > Class Template Reference

Base for an iterator_range. More...

#include <OgreIteratorRange.h>

Inheritance diagram for Ogre::iterator_range< T >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef T iterator
 typedef to fulfill container interface
typedef T const_iterator
 typedef to fulfill container interface
typedef iterator_range< T > type
 defines the real used type

Public Member Functions

 iterator_range (T b, T e)
 Constructor.
begin () const
 access to the begin of the range
end () const
 access to the end of the range
bool empty () const
 informs if there are any elements in the range
bool equal (const iterator_range &other) const
 comparison for equality
bool operator== (const iterator_range &rhs) const
 comparison operator for equality
bool operator!= (const iterator_range &rhs) const
 comparison operator for inequality

Private Attributes

mBegin
mEnd

Detailed Description

template<typename T>
class Ogre::iterator_range< T >

Base for an iterator_range.

Parameters:
T iterator type

This class implements the minimal interface of the (boost::iterator_)range concept
Also it prepairs for direct usage of boost::iterator_range by providing the real used type via iterator_range::type so that client code does not have to change when boost::iterator_range will be implemented some day.
see VectorRange MapRange or corresponding Const variants for a sample of concrete usage of the iterator_range::type

Definition at line 51 of file OgreIteratorRange.h.


Member Typedef Documentation

template<typename T>
typedef T Ogre::iterator_range< T >::const_iterator

typedef to fulfill container interface

Note:
there is no distinction between const_iterator and iterator.

Definition at line 99 of file OgreIteratorRange.h.

template<typename T>
typedef T Ogre::iterator_range< T >::iterator

typedef to fulfill container interface

Note:
there is no distinction between const_iterator and iterator.

Definition at line 91 of file OgreIteratorRange.h.

template<typename T>
typedef iterator_range<T> Ogre::iterator_range< T >::type

defines the real used type

type will be defined as Ogre::iterator_range if not used with boost
otherwise the type will be boost::iterator_range

Definition at line 106 of file OgreIteratorRange.h.


Constructor & Destructor Documentation

template<typename T>
Ogre::iterator_range< T >::iterator_range ( b,
e 
)

Constructor.

Remarks:
Provide a start and end iterator to initialise.

Definition at line 63 of file OgreIteratorRange.h.


Member Function Documentation

template<typename T>
T Ogre::iterator_range< T >::begin (  )  const

access to the begin of the range

Definition at line 66 of file OgreIteratorRange.h.

References Ogre::iterator_range< T >::mBegin.

template<typename T>
bool Ogre::iterator_range< T >::empty (  )  const

informs if there are any elements in the range

Definition at line 72 of file OgreIteratorRange.h.

References Ogre::iterator_range< T >::mBegin, and Ogre::iterator_range< T >::mEnd.

template<typename T>
T Ogre::iterator_range< T >::end (  )  const

access to the end of the range

Definition at line 69 of file OgreIteratorRange.h.

References Ogre::iterator_range< T >::mEnd.

template<typename T>
bool Ogre::iterator_range< T >::equal ( const iterator_range< T > &  other  )  const
template<typename T>
bool Ogre::iterator_range< T >::operator!= ( const iterator_range< T > &  rhs  )  const

comparison operator for inequality

Definition at line 83 of file OgreIteratorRange.h.

References Ogre::iterator_range< T >::operator==().

template<typename T>
bool Ogre::iterator_range< T >::operator== ( const iterator_range< T > &  rhs  )  const

comparison operator for equality

Definition at line 79 of file OgreIteratorRange.h.

References Ogre::iterator_range< T >::equal().

Referenced by Ogre::iterator_range< T >::operator!=().


Member Data Documentation

template<typename T>
T Ogre::iterator_range< T >::mBegin [private]
template<typename T>
T Ogre::iterator_range< T >::mEnd [private]

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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:37:57 2012