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
Iterator.constexpr explicit move_iterator(Iterator i);
Effects: Constructs a
move_iterator, initializing
current with
i. template <class U> constexpr move_iterator(const move_iterator<U>& u);
Effects: Constructs a
move_iterator, initializing
current with
u.base(). Requires: U shall be convertible to
Iterator.