libstdc++: std::move_iterator< _Iterator > Class Template Reference (original) (raw)
#include <[stl_iterator.h](a17942%5Fsource.html)>
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) |
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 1440 of file bits/stl_iterator.h.
◆ difference_type
template<typename _Iterator >
◆ iterator_concept
template<typename _Iterator >
◆ iterator_type
template<typename _Iterator >
◆ pointer
template<typename _Iterator >
template<typename _Iterator >
◆ value_type
template<typename _Iterator >
◆ move_iterator() [1/3]
template<typename _Iterator >
◆ move_iterator() [2/3]
template<typename _Iterator >
constexpr std::move_iterator< _Iterator >::move_iterator ( iterator_type __i) | inlineexplicitconstexpr |
---|
◆ move_iterator() [3/3]
template<typename _Iterator >
template<typename _Iter >
requires __convertible<_Iter>
◆ base() [1/2]
template<typename _Iterator >
◆ base() [2/2]
template<typename _Iterator >
constexpr const iterator_type & std::move_iterator< _Iterator >::base ( ) const & | inlineconstexprnoexcept |
---|
◆ operator*()
template<typename _Iterator >
◆ operator+()
template<typename _Iterator >
◆ operator++() [1/3]
template<typename _Iterator >
◆ operator++() [2/3]
template<typename _Iterator >
◆ operator++() [3/3]
template<typename _Iterator >
◆ operator+=()
template<typename _Iterator >
◆ operator-()
template<typename _Iterator >
◆ operator--() [1/2]
template<typename _Iterator >
◆ operator--() [2/2]
template<typename _Iterator >
◆ operator-=()
template<typename _Iterator >
◆ operator->()
template<typename _Iterator >
◆ operator=()
template<typename _Iterator >
template<typename _Iter >
requires __convertible<_Iter> && assignable_from<_Iterator&, const _Iter&>
◆ operator[]()
template<typename _Iterator >
constexpr reference std::move_iterator< _Iterator >::operator[] ( difference_type __n) const | inlineconstexpr |
---|
◆ move_iterator
template<typename _Iterator >
template<typename _Iter2 >
◆ iter_move
template<typename _Iterator >
constexpr iter_rvalue_reference_t< _Iterator > iter_move ( const move_iterator< _Iterator > & __i) | friend |
---|
◆ iter_swap
template<typename _Iterator >
template<indirectly_swappable< _Iterator > _Iter2>
◆ operator- [1/2]
template<typename _Iterator >
template<sized_sentinel_for< _Iterator > _Sent>
constexpr iter_difference_t< _Iterator > operator- ( const move_iterator< _Iterator > & __x, const move_sentinel< _Sent > & __y ) | friend |
---|
◆ operator- [2/2]
template<typename _Iterator >
template<sized_sentinel_for< _Iterator > _Sent>
constexpr iter_difference_t< _Iterator > operator- ( const move_sentinel< _Sent > & __x, const move_iterator< _Iterator > & __y ) | friend |
---|
◆ operator==
template<typename _Iterator >
template<sentinel_for< _Iterator > _Sent>
constexpr bool operator== ( const move_iterator< _Iterator > & __x, const move_sentinel< _Sent > & __y ) | friend |
---|
The documentation for this class was generated from the following file: