std::permutable(3)

NAME
std::permutable - std::permutable

Synopsis
   Defined in header <iterator>
   template< class I >
   concept permutable =
       std::forward_iterator<I> && (since C++20)
       std::indirectly_movable_storable<I, I> &&
       std::indirectly_swappable<I, I>;
   The concept permutable refines std::forward_iterator by adding requirements for
   reordering through moves and swaps.
   Semantic requirements
   I models permutable only if all concepts it subsumes are modeled.

See also
   sortable specifies the common requirements of algorithms that
   (C++20) permute sequences into ordered sequences
                        (concept)
   ranges::remove
   ranges::remove_if removes elements satisfying specific criteria
   (C++20) (niebloid)
   (C++20)
   ranges::unique removes consecutive duplicate elements in a range
   (C++20) (niebloid)
   ranges::reverse reverses the order of elements in a range
   (C++20) (niebloid)
   ranges::rotate rotates the order of elements in a range
   (C++20) (niebloid)
   ranges::shuffle randomly re-orders elements in a range
   (C++20) (niebloid)
   ranges::partition divides a range of elements into two groups
   (C++20) (niebloid)
   ranges::stable_partition divides elements into two groups while preserving their
   (C++20) relative order
                        (niebloid)