Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Private Attributes

mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U > Class Template Reference


Detailed Description

template<typename T, typename U>
class mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >

This class bypasses pointer access in iterators to pointers, thus allowing the use of algorithms that expect an object of class T with containers of T*.

Although it may be used directly, use the bypassPointer function for better results and readability (since it most probably won't require template arguments).

Definition at line 197 of file metaprogramming.h.

#include <mrpt/utils/metaprogramming.h>

List of all members.

Public Types

typedef T::iterator_category iterator_category
typedef U value_type
typedef T::difference_type difference_type
typedef U * pointer
typedef U & reference

Public Member Functions

 MemoryBypasserIterator (const T &bi)
reference operator* ()
MemoryBypasserIterator< T, U > & operator++ ()
MemoryBypasserIterator< T, U > operator++ (int)
MemoryBypasserIterator< T, U > & operator-- ()
MemoryBypasserIterator< T, U > operator-- (int)
MemoryBypasserIterator< T, U > & operator+= (difference_type off)
MemoryBypasserIterator< T, U > operator+ (difference_type off) const
MemoryBypasserIterator< T, U > & operator-= (difference_type off)
MemoryBypasserIterator< T, U > operator- (difference_type off) const
difference_type operator- (const MemoryBypasserIterator< T, U > &it) const
reference operator[] (difference_type off) const
bool operator== (const MemoryBypasserIterator< T, U > &i) const
bool operator!= (const MemoryBypasserIterator< T, U > &i) const
bool operator< (const MemoryBypasserIterator< T, U > &i) const

Private Attributes

baseIterator

Member Typedef Documentation

template<typename T, typename U>
typedef T::difference_type mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::difference_type

Definition at line 203 of file metaprogramming.h.

template<typename T, typename U>
typedef T::iterator_category mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::iterator_category

Definition at line 201 of file metaprogramming.h.

template<typename T, typename U>
typedef U* mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::pointer

Definition at line 204 of file metaprogramming.h.

template<typename T, typename U>
typedef U& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::reference

Definition at line 205 of file metaprogramming.h.

template<typename T, typename U>
typedef U mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::value_type

Definition at line 202 of file metaprogramming.h.


Constructor & Destructor Documentation

template<typename T, typename U>
mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::MemoryBypasserIterator ( const T &  bi) [inline]

Definition at line 206 of file metaprogramming.h.


Member Function Documentation

template<typename T, typename U>
bool mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator!= ( const MemoryBypasserIterator< T, U > &  i) const [inline]
template<typename T, typename U>
reference mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator* ( void  ) [inline]

Definition at line 207 of file metaprogramming.h.

template<typename T, typename U>
MemoryBypasserIterator<T,U> mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator+ ( difference_type  off) const [inline]

Definition at line 232 of file metaprogramming.h.

template<typename T, typename U>
MemoryBypasserIterator<T,U>& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator++ ( ) [inline]
template<typename T, typename U>
MemoryBypasserIterator<T,U> mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator++ ( int  ) [inline]
template<typename T, typename U>
MemoryBypasserIterator<T,U>& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator+= ( difference_type  off) [inline]
template<typename T, typename U>
MemoryBypasserIterator<T,U> mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator- ( difference_type  off) const [inline]

Definition at line 239 of file metaprogramming.h.

template<typename T, typename U>
difference_type mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator- ( const MemoryBypasserIterator< T, U > &  it) const [inline]
template<typename T, typename U>
MemoryBypasserIterator<T,U>& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator-- ( ) [inline]
template<typename T, typename U>
MemoryBypasserIterator<T,U> mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator-- ( int  ) [inline]
template<typename T, typename U>
MemoryBypasserIterator<T,U>& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator-= ( difference_type  off) [inline]
template<typename T, typename U>
bool mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator< ( const MemoryBypasserIterator< T, U > &  i) const [inline]
template<typename T, typename U>
bool mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator== ( const MemoryBypasserIterator< T, U > &  i) const [inline]
template<typename T, typename U>
reference mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator[] ( difference_type  off) const [inline]

Definition at line 245 of file metaprogramming.h.


Member Data Documentation

template<typename T, typename U>
T mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::baseIterator [private]



Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:16:28 UTC 2011