9 Iterators library [iterators]

9.7 Iterator adaptors [iterators.predef]

9.7.3 Move iterators and sentinels [iterators.move]

9.7.3.2 move_iterator operations [move.iter.ops]

9.7.3.2.1 move_iterator constructors [move.iter.op.const]

constexpr move_iterator();

Effects: Constructs a move_iterator, value-initializing current. Iterator operations applied to the resulting iterator have defined behavior if and only if the corresponding operations are defined on a value-initialized iterator of type I.

explicit constexpr move_iterator(I i);

Effects: Constructs a move_iterator, initializing current with i.

constexpr move_iterator(const move_iterator<ConvertibleTo<I>>& i);

Effects: Constructs a move_iterator, initializing current with i.current.