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).