[iterator.cust.move] (original) (raw)

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 expression ranges​::​iter_­move(E) for a subexpression E is expression-equivalent to:

If ranges​::​iter_­move(E) is not equal to *E, the program is ill-formed, no diagnostic required.