libstdc++
std::move_iterator< _Iterator > Class Template Reference

#include <stl_iterator.h>

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, typenameremove_reference< __base_ref >::type &&, __base_ref >::type reference
 
typedef __traits_type::value_type value_type
 

Public Member Functions

template<typename _Iter >
_GLIBCXX17_CONSTEXPR move_iterator (const move_iterator< _Iter > &__i)
 
_GLIBCXX17_CONSTEXPR move_iterator (iterator_type __i)
 
_GLIBCXX17_CONSTEXPR iterator_type base () const
 
_GLIBCXX17_CONSTEXPR reference operator* () const
 
_GLIBCXX17_CONSTEXPR move_iterator operator+ (difference_type __n) const
 
_GLIBCXX17_CONSTEXPR move_iteratoroperator++ ()
 
_GLIBCXX17_CONSTEXPR move_iterator operator++ (int)
 
_GLIBCXX17_CONSTEXPR move_iteratoroperator+= (difference_type __n)
 
_GLIBCXX17_CONSTEXPR move_iterator operator- (difference_type __n) const
 
_GLIBCXX17_CONSTEXPR move_iteratoroperator-- ()
 
_GLIBCXX17_CONSTEXPR move_iterator operator-- (int)
 
_GLIBCXX17_CONSTEXPR move_iteratoroperator-= (difference_type __n)
 
_GLIBCXX17_CONSTEXPR pointer operator-> () const
 
_GLIBCXX17_CONSTEXPR 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 1028 of file bits/stl_iterator.h.

Member Typedef Documentation

◆ __base_ref

template<typename _Iterator >
typedef __traits_type::reference std::move_iterator< _Iterator >::__base_ref
protected

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

◆ __traits_type

template<typename _Iterator >
typedef iterator_traits<_Iterator> std::move_iterator< _Iterator >::__traits_type
protected

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

◆ difference_type

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

Definition at line 1040 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 1038 of file bits/stl_iterator.h.

◆ iterator_type

template<typename _Iterator >
typedef _Iterator std::move_iterator< _Iterator >::iterator_type

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

◆ pointer

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

Definition at line 1042 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 1047 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 1039 of file bits/stl_iterator.h.

Constructor & Destructor Documentation

◆ move_iterator() [1/3]

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR std::move_iterator< _Iterator >::move_iterator ( )
inline

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

◆ move_iterator() [2/3]

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR std::move_iterator< _Iterator >::move_iterator ( iterator_type  __i)
inlineexplicit

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

◆ move_iterator() [3/3]

template<typename _Iterator >
template<typename _Iter >
_GLIBCXX17_CONSTEXPR std::move_iterator< _Iterator >::move_iterator ( const move_iterator< _Iter > &  __i)
inline

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

Member Function Documentation

◆ base()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR iterator_type std::move_iterator< _Iterator >::base ( ) const
inline

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

◆ operator*()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR reference std::move_iterator< _Iterator >::operator* ( ) const
inline

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

◆ operator+()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator std::move_iterator< _Iterator >::operator+ ( difference_type  __n) const
inline

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

◆ operator++() [1/2]

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator & std::move_iterator< _Iterator >::operator++ ( )
inline

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

◆ operator++() [2/2]

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator std::move_iterator< _Iterator >::operator++ ( int  )
inline

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

◆ operator+=()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator & std::move_iterator< _Iterator >::operator+= ( difference_type  __n)
inline

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

◆ operator-()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator std::move_iterator< _Iterator >::operator- ( difference_type  __n) const
inline

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

◆ operator--() [1/2]

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator & std::move_iterator< _Iterator >::operator-- ( )
inline

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

◆ operator--() [2/2]

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator std::move_iterator< _Iterator >::operator-- ( int  )
inline

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

◆ operator-=()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR move_iterator & std::move_iterator< _Iterator >::operator-= ( difference_type  __n)
inline

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

◆ operator->()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR pointer std::move_iterator< _Iterator >::operator-> ( ) const
inline

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

◆ operator[]()

template<typename _Iterator >
_GLIBCXX17_CONSTEXPR reference std::move_iterator< _Iterator >::operator[] ( difference_type  __n) const
inline

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

Member Data Documentation

◆ _M_current

template<typename _Iterator >
_Iterator std::move_iterator< _Iterator >::_M_current
protected

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


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