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.