ranges::v3::move_iterator< I > Struct Template Reference
Utility

## Public Types

using | difference_type = difference_type_t< I >
using | iterator_category = input_iterator_tag
using | iterator_type = I
using | reference = rvalue_reference_t< I >
using | value_type = value_type_t< I >

## Public Member Functions

I | base () const
| move_iterator (I i)
template<typename O , requires = (ConvertibleTo<O, I>())>
| move_iterator (move_iterator< O > const &i)
auto | operator* () const noexcept(noexcept(decltype(iter_move(current_))(iter_move(current_)))) -> decltype(iter_move(current_))
move_iterator | operator+ (difference_type n) const
move_iterator & | operator++ ()
void | operator++ (int)
move_iterator | operator++ (int)
move_iterator & | operator+= (difference_type n)
move_iterator | operator- (difference_type n) const
move_iterator & | operator-- ()
move_iterator | operator-- (int)
move_iterator & | operator-= (difference_type n)
template<typename O , requires = (ConvertibleTo<O, I>())>
move_iterator & | operator= (move_iterator< O > const &i)
reference | operator[] (difference_type n) const

## Member Function Documentation

## operator+()

template<typename I>

move_iterator ranges::v3::move_iterator< I >::operator+ | ( | difference_type | n | ) | const

Precondition
  RandomAccessIterator<I>()

## operator++() [1/2]

template<typename I>

void ranges::v3::move_iterator< I >::operator++ | ( | int |  | ) |

Precondition
  !ForwardIterator()

## operator++() [2/2]

template<typename I>

move_iterator ranges::v3::move_iterator< I >::operator++ | ( | int |  | ) |

Precondition
  ForwardIterator<I>()

## operator+=()

template<typename I>

move_iterator& ranges::v3::move_iterator< I >::operator+= | ( | difference_type | n | ) |

Precondition
  RandomAccessIterator<I>()

## operator-()

template<typename I>

move_iterator ranges::v3::move_iterator< I >::operator- | ( | difference_type | n | ) | const

Precondition
  RandomAccessIterator<I>()

## operator--() [1/2]

template<typename I>

move_iterator& ranges::v3::move_iterator< I >::operator-- | ( |  | ) |

Precondition
  BidirectionalIterator<I>()

## operator--() [2/2]

template<typename I>

move_iterator ranges::v3::move_iterator< I >::operator-- | ( | int |  | ) |

Precondition
  BidirectionalIterator<I>()

## operator-=()

template<typename I>

move_iterator& ranges::v3::move_iterator< I >::operator-= | ( | difference_type | n | ) |

Precondition
  RandomAccessIterator<I>()

## operator[]()

template<typename I>

reference ranges::v3::move_iterator< I >::operator[] | ( | difference_type | n | ) | const

Precondition
  RandomAccessIterator<I>()