constexpr move_iterator();
Effects: Value-initializes 
current. constexpr explicit move_iterator(Iterator i);
Effects: Initializes 
current with 
std::move(i). template<class U> constexpr move_iterator(const move_iterator<U>& u);
Constraints: 
is_same_v<U, Iterator> is 
false and
const U& models 
convertible_to<Iterator>. Effects: Initializes 
current with 
u.current. template<class U> constexpr move_iterator& operator=(const move_iterator<U>& u);
Effects: Assigns 
u.current to
current.