Range-v3 Range algorithms, views, and actions for the Standard Library |

Public Types | Public Member Functions | List of all members
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>()