Provided by: libstdc++-13-doc_13.2.0-23ubuntu4_all bug

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++       std::move_iterator< _Iterator >(3cxx)