std::move_iterator< _Iterator > Class Template Reference

Public Types

typedef __traits_type::difference_type difference_type
typedef __traits_type::iterator_category iterator_category
typedef _Iterator iterator_type
typedef _Iterator pointer
typedef conditional< is_reference< __base_ref >::value, typename remove_reference< __base_ref >::type &&, __base_ref >::type reference
typedef __traits_type::value_type value_type

Public Member Functions

 move_iterator (iterator_type __i)
template<typename _Iter >
 move_iterator (const move_iterator< _Iter > &__i)
iterator_type base () const
reference operator* () const
move_iterator operator+ (difference_type __n) const
move_iteratoroperator++ ()
move_iterator operator++ (int)
move_iteratoroperator+= (difference_type __n)
move_iterator operator- (difference_type __n) const
move_iteratoroperator-- ()
move_iterator operator-- (int)
move_iteratoroperator-= (difference_type __n)
pointer operator-> () const
reference operator[] (difference_type __n) const

Protected Types

typedef __traits_type::reference __base_ref
typedef iterator_traits< _Iterator > __traits_type

Protected Attributes

_Iterator _M_current

Detailed Description

template<typename _Iterator>
class std::move_iterator< _Iterator >

Class template move_iterator is an iterator adapter 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.

Definition at line 433 of file cpp_type_traits.h.

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