Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::move_iterator< It > Class Template Reference

Class template move_iterator is an iterator adaptor with the same behavior as the underlying iterator except that its dereference operator implicitly converts the value returned by the underlying iterator's dereference operator to an rvalue reference. More...

#include <iterator.hpp>

Public Types

typedef It iterator_type
 
typedef std::iterator_traits
< iterator_type >::value_type 
value_type
 
typedef value_type && reference
 
typedef It pointer
 
typedef std::iterator_traits
< iterator_type >
::difference_type 
difference_type
 
typedef std::iterator_traits
< iterator_type >
::iterator_category 
iterator_category
 

Public Member Functions

 move_iterator ()
 
 move_iterator (It i)
 
template<class U >
 move_iterator (const move_iterator< U > &u)
 
iterator_type base () const
 
reference operator* () const
 
pointer operator-> () const
 
move_iteratoroperator++ ()
 
move_iterator< iterator_typeoperator++ (int)
 
move_iteratoroperator-- ()
 
move_iterator< iterator_typeoperator-- (int)
 
move_iterator< iterator_typeoperator+ (difference_type n) const
 
move_iteratoroperator+= (difference_type n)
 
move_iterator< iterator_typeoperator- (difference_type n) const
 
move_iteratoroperator-= (difference_type n)
 
reference operator[] (difference_type n) const
 

Friends

bool operator== (const move_iterator &x, const move_iterator &y)
 
bool operator!= (const move_iterator &x, const move_iterator &y)
 
bool operator< (const move_iterator &x, const move_iterator &y)
 
bool operator<= (const move_iterator &x, const move_iterator &y)
 
bool operator> (const move_iterator &x, const move_iterator &y)
 
bool operator>= (const move_iterator &x, const move_iterator &y)
 
difference_type operator- (const move_iterator &x, const move_iterator &y)
 
move_iterator operator+ (difference_type n, const move_iterator &x)
 

Detailed Description

template<class It>
class boost::move_iterator< It >

Class template move_iterator is an iterator adaptor with the same behavior as the underlying iterator except that its dereference operator implicitly converts the value returned by the underlying iterator's dereference operator to an rvalue reference.

Some generic algorithms can be called with move iterators to replace copying with moving.

Member Typedef Documentation

template<class It>
typedef std::iterator_traits<iterator_type>::difference_type boost::move_iterator< It >::difference_type
template<class It>
typedef std::iterator_traits<iterator_type>::iterator_category boost::move_iterator< It >::iterator_category
template<class It>
typedef It boost::move_iterator< It >::iterator_type
template<class It>
typedef It boost::move_iterator< It >::pointer
template<class It>
typedef value_type&& boost::move_iterator< It >::reference
template<class It>
typedef std::iterator_traits<iterator_type>::value_type boost::move_iterator< It >::value_type

Constructor & Destructor Documentation

template<class It>
boost::move_iterator< It >::move_iterator ( )
inline
template<class It>
boost::move_iterator< It >::move_iterator ( It  i)
inlineexplicit
template<class It>
template<class U >
boost::move_iterator< It >::move_iterator ( const move_iterator< U > &  u)
inline

Member Function Documentation

template<class It>
iterator_type boost::move_iterator< It >::base ( ) const
inline
template<class It>
reference boost::move_iterator< It >::operator* ( ) const
inline

References boost::fusion::move().

template<class It>
move_iterator<iterator_type> boost::move_iterator< It >::operator+ ( difference_type  n) const
inline

References boost::n.

template<class It>
move_iterator& boost::move_iterator< It >::operator++ ( void  )
inline
template<class It>
move_iterator<iterator_type> boost::move_iterator< It >::operator++ ( int  )
inline
template<class It>
move_iterator& boost::move_iterator< It >::operator+= ( difference_type  n)
inline

References boost::n.

template<class It>
move_iterator<iterator_type> boost::move_iterator< It >::operator- ( difference_type  n) const
inline

References boost::n.

template<class It>
move_iterator& boost::move_iterator< It >::operator-- ( void  )
inline
template<class It>
move_iterator<iterator_type> boost::move_iterator< It >::operator-- ( int  )
inline
template<class It>
move_iterator& boost::move_iterator< It >::operator-= ( difference_type  n)
inline

References boost::n.

template<class It>
pointer boost::move_iterator< It >::operator-> ( ) const
inline
template<class It>
reference boost::move_iterator< It >::operator[] ( difference_type  n) const
inline

References boost::fusion::move(), and boost::n.

Friends And Related Function Documentation

template<class It>
bool operator!= ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend
template<class It>
move_iterator operator+ ( difference_type  n,
const move_iterator< It > &  x 
)
friend
template<class It>
difference_type operator- ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend
template<class It>
bool operator< ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend
template<class It>
bool operator<= ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend
template<class It>
bool operator== ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend
template<class It>
bool operator> ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend
template<class It>
bool operator>= ( const move_iterator< It > &  x,
const move_iterator< It > &  y 
)
friend

The documentation for this class was generated from the following file: