25 Iterators library [iterators]

25.3 Iterator requirements [iterator.requirements]

25.3.7 Common algorithm requirements [alg.req]

25.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>;