23 Iterators library [iterators]

23.3 Iterator requirements [iterator.requirements]

23.3.3 Customization points [iterator.cust]

23.3.3.1 ranges​::​iter_­move [iterator.cust.move]

The name ranges​::​iter_­move denotes a customization point object ([customization.point.object]).
The expression ranges​::​iter_­move(E) for some subexpression E is expression-equivalent to:
If ranges​::​iter_­move(E) is not equal to *E, the program is ill-formed with no diagnostic required.