Scroll to navigation

std::permutable(3) C++ Standard Libary std::permutable(3)


std::permutable - std::permutable


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
ranges::remove_if removes elements satisfying specific criteria
(C++20) (niebloid)
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