[alg.req.ind.move] (original) (raw)
23 Iterators library [iterators]
23.3 Iterator requirements [iterator.requirements]
23.3.7 Common algorithm requirements [alg.req]
23.3.7.2 Concept indirectly_movable [alg.req.ind.move]
Let i be a dereferenceable value of type In.
In and Out model indirectly_movable_storable<In, Out>only if after the initialization of the object obj initer_value_t<In> obj(ranges::iter_move(i)); obj is equal to the value previously denoted by *i.
Ifiter_rvalue_reference_t<In> is an rvalue reference type, the resulting state of the value denoted by *i is valid but unspecified ([lib.types.movedfrom]).