28 #ifndef __Ogre_Iterator_Range_H__
29 #define __Ogre_Iterator_Range_H__
34 # if OGRE_COMPILER == OGRE_COMPILER_CLANG || OGRE_COMPILER == OGRE_COMPILER_GNUC
35 # pragma GCC diagnostic push
36 #if OGRE_COMPILER == OGRE_COMPILER_GNUC
37 # pragma GCC diagnostic ignored "-Wpragmas"
38 #elif OGRE_COMPILER == OGRE_COMPILER_CLANG
39 # pragma GCC diagnostic ignored "-Wdocumentation"
41 # pragma GCC diagnostic ignored "-Wshadow"
42 # pragma GCC diagnostic ignored "-Wpadded"
43 # pragma GCC diagnostic ignored "-Wweak-vtables"
44 # pragma GCC diagnostic ignored "-Wall"
45 # pragma GCC diagnostic ignored "-Wundef"
48 # include <boost/range.hpp>
50 # if OGRE_COMPILER == OGRE_COMPILER_CLANG || OGRE_COMPILER == OGRE_COMPILER_GNUC
51 # pragma GCC diagnostic pop
98 {
return equal( rhs ) ;}
126 public:
typedef boost::iterator_range<T>
type ;
167 #ifdef __Ogre_Iterator_Wrapper_H__
171 operator ConstVectorIterator<T>(){
return ConstVectorIterator<T>( this->
begin(), this->
end());}
228 #ifdef __Ogre_Iterator_Wrapper_H__
260 MapRange(
typename T::iterator b,
typename T::iterator e )
270 #ifdef __Ogre_Iterator_Wrapper_H__
274 operator ConstMapIterator<T>(){
return ConstMapIterator<T>( this->
begin(), this->
end());}
329 #ifdef __Ogre_Iterator_Wrapper_H__
bool operator!=(const ConstMapRange &rhs) const
comparison operator for inequality
VectorRange(T &c)
Constructor.
ConstVectorRange(const T &c)
Constructor.
T const_iterator
typedef to fulfill container interface
ConstMapRange(typename T::iterator b, typename T::iterator e)
Constructor.
bool operator==(const MapRange &rhs) const
comparison operator for equality
bool operator!=(const MapRange &rhs) const
comparison operator for inequality
bool operator==(const ConstMapRange &rhs) const
comparison operator for equality
T iterator
typedef to fulfill container interface
iterator_range< T > type
defines the real used type
Base for an iterator_range.
bool operator!=(const VectorRange &rhs) const
comparison operator for inequality
T begin() const
access to the begin of the range
ConstVectorRange(const VectorRange< T > &rhs)
Constructor.
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
ConstVectorRange(typename T::const_iterator b, typename T::const_iterator e)
Constructor.
ConstVectorRange(typename T::iterator b, typename T::iterator e)
Constructor.
iterator_range(T b, T e)
Constructor.
ConstMapRange(const MapRange< T > &rhs)
Constructor.
bool operator==(const VectorRange &rhs) const
comparison operator for equality
bool operator!=(const ConstVectorRange &rhs) const
comparison operator for inequality
bool operator!=(const iterator_range &rhs) const
comparison operator for inequality
Concrete IteratorWrapper for const access to the underlying container.
ConstMapRange(const T &c)
Constructor.
VectorRange(typename T::iterator b, typename T::iterator e)
Constructor.
bool operator==(const ConstVectorRange &rhs) const
comparison operator for equality
bool empty() const
informs if there are any elements in the range
ConstMapRange(typename T::const_iterator b, typename T::const_iterator e)
Constructor.
Concrete IteratorWrapper for const access to the underlying key-value container.
MapRange(typename T::iterator b, typename T::iterator e)
Constructor.
MapRange(T &c)
Constructor.
bool operator==(const iterator_range &rhs) const
comparison operator for equality
bool equal(const iterator_range &other) const
comparison for equality
Concrete IteratorWrapper for nonconst access to the underlying container.
T end() const
access to the end of the range