24 Iterators library [iterators]

24.5 Iterator adaptors [predef.iterators]

24.5.3 Move iterators [move.iterators]

24.5.3.2 move_iterator requirements [move.iter.requirements]

The template parameter Iterator shall meet the requirements for an Input Iterator ([input.iterators]). Additionally, if any of the bidirectional or random access traversal functions are instantiated, the template parameter shall meet the requirements for a Bidirectional Iterator ([bidirectional.iterators]) or a Random Access Iterator ([random.access.iterators]), respectively.