[move.iter.cons] (original) (raw)

24 Iterators library [iterators]

24.5 Iterator adaptors [predef.iterators]

24.5.4 Move iterators and sentinels [move.iterators]

24.5.4.4 Construction and assignment [move.iter.cons]

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 andconst 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 tocurrent.