Main MRPT website > C++ reference for MRPT 1.5.6
List of all members | 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 154 of file metaprogramming.h.

#include <mrpt/utils/metaprogramming.h>

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

◆ difference_type

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

Definition at line 160 of file metaprogramming.h.

◆ iterator_category

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

Definition at line 158 of file metaprogramming.h.

◆ pointer

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

Definition at line 161 of file metaprogramming.h.

◆ reference

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

Definition at line 162 of file metaprogramming.h.

◆ value_type

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

Definition at line 159 of file metaprogramming.h.

Constructor & Destructor Documentation

◆ MemoryBypasserIterator()

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

Definition at line 163 of file metaprogramming.h.

Member Function Documentation

◆ operator!=()

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

◆ operator*()

template<typename T, typename U>
reference mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator* ( void  )
inline

Definition at line 164 of file metaprogramming.h.

◆ operator+()

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

Definition at line 189 of file metaprogramming.h.

◆ operator++() [1/2]

template<typename T, typename U>
MemoryBypasserIterator<T,U>& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T, typename U>
MemoryBypasserIterator<T,U> mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator++ ( int  )
inline

◆ operator+=()

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

◆ operator-() [1/2]

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

Definition at line 196 of file metaprogramming.h.

◆ operator-() [2/2]

template<typename T, typename U>
difference_type mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator- ( const MemoryBypasserIterator< T, U > &  it) const
inline

◆ operator--() [1/2]

template<typename T, typename U>
MemoryBypasserIterator<T,U>& mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename T, typename U>
MemoryBypasserIterator<T,U> mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator-- ( int  )
inline

◆ operator-=()

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

◆ operator<()

template<typename T, typename U>
bool mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator< ( const MemoryBypasserIterator< T, U > &  i) const
inline

◆ operator==()

template<typename T, typename U>
bool mrpt::utils::metaprogramming::MemoryBypasserIterator< T, U >::operator== ( const MemoryBypasserIterator< T, U > &  i) const
inline

◆ operator[]()

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

Definition at line 202 of file metaprogramming.h.

Member Data Documentation

◆ baseIterator

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



Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019