24 Iterators library [iterators]

24.3 Iterator requirements [iterator.requirements]

24.3.7 Common algorithm requirements [alg.req]

24.3.7.6 Concept permutable [alg.req.permutable]

The permutable concept specifies the common requirements of algorithms that reorder elements in place by moving or swapping them.
template<class I> concept permutable = forward_iterator<I> && indirectly_movable_storable<I, I> && indirectly_swappable<I, I>;