table of contents
| std::move_iterator< _Iterator >(3cxx) | std::move_iterator< _Iterator >(3cxx) | 
NAME¶
std::move_iterator< _Iterator >
SYNOPSIS¶
#include <iterator>
Inherits std::__detail::__move_iter_cat< _Iterator >.
Public Types¶
using difference_type = iter_difference_t<
    _Iterator >
  
  using iterator_concept = decltype(_S_iter_concept())
  
  using iterator_type = _Iterator
  
  using pointer = _Iterator
  
  using reference = iter_rvalue_reference_t< _Iterator >
  
  using value_type = iter_value_t< _Iterator >
  
  
Public Member Functions¶
template<typename _Iter >
  
  requires __convertible<_Iter>constexpr move_iterator (const
    move_iterator< _Iter > &__i)"
  
  constexpr move_iterator (iterator_type __i)
  
  constexpr iterator_type base () &&
  
  constexpr const iterator_type & base () const &noexcept
  
  constexpr reference operator* () const
  
  constexpr move_iterator operator+ (difference_type __n)
    const
  
  constexpr move_iterator & operator++ ()
  
  constexpr move_iterator operator++ (int)
  
  constexpr void 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 >
  
  requires __convertible<_Iter> &&
    assignable_from<_Iterator&, const _Iter&>constexpr
    move_iterator & operator= (const move_iterator<
    _Iter > &__i)"
  
  constexpr reference operator[] (difference_type __n)
    const
  
  
Friends¶
constexpr iter_rvalue_reference_t< _Iterator >
    iter_move (const move_iterator &__i)
    noexcept(noexcept(ranges::iter_move(__i._M_current)))
  
  template<indirectly_swappable< _Iterator > _Iter2> constexpr
    void iter_swap (const move_iterator &__x, const
    move_iterator< _Iter2 > &__y)
    noexcept(noexcept(ranges::iter_swap(__x._M_current, __y._M_current)))
  
  template<sized_sentinel_for< _Iterator > _Sent> constexpr
    iter_difference_t< _Iterator > operator- (const
    move_iterator &__x, const move_sentinel< _Sent > &__y)
  
  template<sized_sentinel_for< _Iterator > _Sent> constexpr
    iter_difference_t< _Iterator > operator- (const
    move_sentinel< _Sent > &__x, const move_iterator &__y)
  
  template<sentinel_for< _Iterator > _Sent> constexpr bool
    operator== (const move_iterator &__x, const
    move_sentinel< _Sent > &__y)
  
  
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.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
| libstdc++ |