OGRE  1.7
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Ogre::iterator_range< T > Class Template Reference

Base for an iterator_range. More...

#include <OgreIteratorRange.h>

+ Inheritance diagram for Ogre::iterator_range< T >:
+ Collaboration diagram for Ogre::iterator_range< T >:

Public Types

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

Public Member Functions

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

Private Attributes

mBegin
 
mEnd
 

Detailed Description

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

Base for an iterator_range.

Parameters
Titerator 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 
)
inline

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
inline

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
inline

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
inline

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 >::operator!= ( const iterator_range< T > &  rhs) const
inline

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
inline

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: