# std::move_iterator< _Iterator > Class Template Reference
[Iterators]

List of all members.

## Public Types

- typedef
  __traits_type::difference_type difference_type
- typedef
  __traits_type::iterator_category iterator_category
- typedef _Iterator iterator_type
- typedef _Iterator pointer
- typedef value_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_iterator operator++ (int)
- move_iterator & operator++ ()
- move_iterator & operator+= (difference_type __n)
- move_iterator operator- (difference_type __n) const
- move_iterator & operator-- ()
- move_iterator operator-- (int)
- move_iterator & operator-= (difference_type __n)
- pointer operator-> () const
- reference operator[] (difference_type __n) const

## Protected Types

- 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 916 of file stl_iterator.h.

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

- stl_iterator.h