logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

std::move_iterator< _Iterator >

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libstdc++              std::move_iterator<_Iterator>(3cxx)

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.

Name

       std::move_iterator< _Iterator >

Synopsis

       #include <iterator>

       Inherits std::__detail::__move_iter_cat< _Iterator >.

   PublicTypesusingdifference_type = iter_difference_t< _Iterator >
       usingiterator_concept = decltype(_S_iter_concept())
       usingiterator_type = _Iterator
       usingpointer = _Iterator
       usingreference = iter_rvalue_reference_t< _Iterator >
       usingvalue_type = iter_value_t< _Iterator >

   PublicMemberFunctions
       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 referenceoperator* () const
       constexpr move_iteratoroperator+ (difference_type __n) const
       constexpr move_iterator & operator++ ()
       constexpr move_iteratoroperator++ (int)
       constexpr voidoperator++ (int)
       constexpr move_iterator & operator+= (difference_type __n)
       constexpr move_iteratoroperator- (difference_type __n) const
       constexpr move_iterator & operator-- ()
       constexpr move_iteratoroperator-- (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 referenceoperator[] (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 voiditer_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)

See Also