std::move_iterator< _Iterator > Class Template Reference
Iterators

`#include <stl_iterator.h>`

## Public Types

typedef __traits_type::difference_type | difference_type
typedef __traits_type::iterator_category | iterator_category
using | iterator_type
typedef _Iterator | pointer
typedef conditional< is_reference< __base_ref >::value, typenameremove_reference< __base_ref >::type &&, __base_ref >::type | reference
typedef __traits_type::value_type | value_type

## Public Member Functions

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

## 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 1370 of file bits/stl_iterator.h.

## Member Typedef Documentation

## difference_type

template<typename _Iterator>

typedef __traits_type::difference_type std::move_iterator< _Iterator >::difference_type

Definition at line 1424 of file bits/stl_iterator.h.

## iterator_category

template<typename _Iterator>

typedef __traits_type::iterator_category std::move_iterator< _Iterator >::iterator_category

Definition at line 1422 of file bits/stl_iterator.h.

## iterator_type

template<typename _Iterator>

using std::move_iterator< _Iterator >::iterator_type

Definition at line 1409 of file bits/stl_iterator.h.

## pointer

template<typename _Iterator>

typedef _Iterator std::move_iterator< _Iterator >::pointer

Definition at line 1426 of file bits/stl_iterator.h.

## reference

template<typename _Iterator>

typedef conditional<is_reference<__base_ref>::value,typenameremove_reference<__base_ref>::type&&,__base_ref>::type std::move_iterator< _Iterator >::reference

Definition at line 1431 of file bits/stl_iterator.h.

## value_type

template<typename _Iterator>

typedef __traits_type::value_type std::move_iterator< _Iterator >::value_type

Definition at line 1423 of file bits/stl_iterator.h.

## Constructor & Destructor Documentation

## move_iterator() [1/3]

template<typename _Iterator>

std::move_iterator< _Iterator >::move_iterator | ( |  | ) |

inline constexpr

Definition at line 1435 of file bits/stl_iterator.h.

## move_iterator() [2/3]

template<typename _Iterator>

std::move_iterator< _Iterator >::move_iterator | ( | iterator_type | __i | ) |

inline explicit constexpr

Definition at line 1439 of file bits/stl_iterator.h.

## move_iterator() [3/3]

template<typename _Iterator>
template<typename _Iter>

std::move_iterator< _Iterator >::move_iterator | ( | const move_iterator< _Iter > & | __i | ) |

inline constexpr

Definition at line 1447 of file bits/stl_iterator.h.

## Member Function Documentation

## base()

template<typename _Iterator>

iterator_type std::move_iterator< _Iterator >::base | ( |  | ) | const

inline constexpr

Definition at line 1464 of file bits/stl_iterator.h.

## operator*()

template<typename _Iterator>

reference std::move_iterator< _Iterator >::operator* | ( |  | ) | const

inline constexpr

Definition at line 1477 of file bits/stl_iterator.h.

## operator+()

template<typename _Iterator>

move_iterator std::move_iterator< _Iterator >::operator+ | ( | difference_type | __n | ) | const

inline constexpr

Definition at line 1525 of file bits/stl_iterator.h.

## operator++() [1/2]

template<typename _Iterator>

move_iterator & std::move_iterator< _Iterator >::operator++ | ( |  | ) |

inline constexpr

Definition at line 1489 of file bits/stl_iterator.h.

## operator++() [2/2]

template<typename _Iterator>

move_iterator std::move_iterator< _Iterator >::operator++ | ( | int |  | ) |

inline constexpr

Definition at line 1496 of file bits/stl_iterator.h.

## operator+=()

template<typename _Iterator>

move_iterator & std::move_iterator< _Iterator >::operator+= | ( | difference_type | __n | ) |

inline constexpr

Definition at line 1529 of file bits/stl_iterator.h.

## operator-()

template<typename _Iterator>

move_iterator std::move_iterator< _Iterator >::operator- | ( | difference_type | __n | ) | const

inline constexpr

Definition at line 1536 of file bits/stl_iterator.h.

## operator--() [1/2]

template<typename _Iterator>

move_iterator & std::move_iterator< _Iterator >::operator-- | ( |  | ) |

inline constexpr

Definition at line 1510 of file bits/stl_iterator.h.

## operator--() [2/2]

template<typename _Iterator>

move_iterator std::move_iterator< _Iterator >::operator-- | ( | int |  | ) |

inline constexpr

Definition at line 1517 of file bits/stl_iterator.h.

## operator-=()

template<typename _Iterator>

move_iterator & std::move_iterator< _Iterator >::operator-= | ( | difference_type | __n | ) |

inline constexpr

Definition at line 1540 of file bits/stl_iterator.h.

## operator->()

template<typename _Iterator>

pointer std::move_iterator< _Iterator >::operator-> | ( |  | ) | const

inline constexpr

Definition at line 1485 of file bits/stl_iterator.h.

## operator=()

template<typename _Iterator>
template<typename _Iter>

move_iterator & std::move_iterator< _Iterator >::operator= | ( | const move_iterator< _Iter > & | __i | ) |

inline constexpr

Definition at line 1456 of file bits/stl_iterator.h.

## operator[]()

template<typename _Iterator>

reference std::move_iterator< _Iterator >::operator[] | ( | difference_type | __n | ) | const

inline constexpr

Definition at line 1547 of file bits/stl_iterator.h.

## Friends And Related Symbol Documentation

## move_iterator

template<typename _Iterator>
template<typename _Iter2>

friend class move_iterator

friend

Definition at line 1383 of file bits/stl_iterator.h.

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

- bits/stl_iterator.h