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