std::experimental::ranges::Permutable

< cpp‎ | experimental‎ | ranges
template< class I >

concept bool Permutable =
    ForwardIterator<I> &&
    IndirectlyMovableStorable<I, I> &&

    IndirectlySwappable<I, I>;
(ranges TS)

The Permutable concept specifies the common requirements of algorithms that reorder elements in place by moving or swapping them (for example, ranges::rotate).