[move.iter.cons] # 24 Iterators library [[iterators]](./#iterators) ## 24.5 Iterator adaptors [[predef.iterators]](predef.iterators#move.iter.cons) ### 24.5.4 Move iterators and sentinels [[move.iterators]](move.iterators#move.iter.cons) #### 24.5.4.4 Construction and assignment [move.iter.cons] [🔗](#lib:move_iterator,constructor) `constexpr move_iterator(); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4895) *Effects*: Value-initializes current[.](#1.sentence-1) [🔗](#lib:move_iterator,constructor_) `constexpr explicit move_iterator(Iterator i); ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4907) *Effects*: Initializes current with std​::​move(i)[.](#2.sentence-1) [🔗](#lib:move_iterator,constructor__) `template constexpr move_iterator(const move_iterator& u); ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4919) *Constraints*: is_same_v is false andconst U& models [convertible_to](concept.convertible#concept:convertible_to "18.4.4 Concept convertible_­to [concept.convertible]")[.](#3.sentence-1) [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4924) *Effects*: Initializes current with u.current[.](#4.sentence-1) [🔗](#lib:operator=,move_iterator) `template constexpr move_iterator& operator=(const move_iterator& u); ` [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4935) *Constraints*: is_same_v is false,const U& models [convertible_to](concept.convertible#concept:convertible_to "18.4.4 Concept convertible_­to [concept.convertible]"), and[assignable_from](concept.assignable#concept:assignable_from "18.4.8 Concept assignable_­from [concept.assignable]") is modeled[.](#5.sentence-1) [6](#6) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4941) *Effects*: Assigns u.current tocurrent[.](#6.sentence-1) [7](#7) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L4946) *Returns*: *this[.](#7.sentence-1)