Main MRPT website > C++ reference
MRPT logo

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

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*. More...

#include <mrpt/utils/metaprogramming.h>

Collaboration diagram for mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >:
Collaboration graph
[legend]

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

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 193 of file metaprogramming.h.


Member Typedef Documentation

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

Definition at line 199 of file metaprogramming.h.

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

Definition at line 197 of file metaprogramming.h.

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

Definition at line 200 of file metaprogramming.h.

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

Definition at line 201 of file metaprogramming.h.

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

Definition at line 198 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 202 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 203 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 228 of file metaprogramming.h.

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++ (  )  [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>
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- ( difference_type  off  )  const [inline]

Definition at line 235 of file metaprogramming.h.

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-- (  )  [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 241 of file metaprogramming.h.


Member Data Documentation

template<typename T, typename U>
T mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::baseIterator [private]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010