std::permutable(3)
π std::permutable β C++ Standard Libary, section (3) π
okay bestie, buckle up: this is the manual page for std::permutable, and it is literally the concept girlie of the C++ standard library. π
β¨ NAME β¨
std::permutable β std::permutable (yes, the name is the name, weβre serving minimalism π
)
πΈ 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. itβs giving iterator glow-up, not replacement π¦
π§ Semantic requirements π§
I models permutable only if all concepts it subsumes are modeled. no skipping the prerequisites, bestie β thatβs the vibe check π
π See also π
sortable(C++20)β specifies the common requirements of algorithms that permute sequences into ordered sequences (concept) πranges::remove(C++20)β removes elements satisfying specific criteria (niebloid) πΈranges::remove_if(C++20)β removes elements satisfying specific criteria (niebloid) πranges::unique(C++20)β removes consecutive duplicate elements in a range (niebloid) π¦ranges::reverse(C++20)β reverses the order of elements in a range (niebloid) π₯ranges::rotate(C++20)β rotates the order of elements in a range (niebloid) βranges::shuffle(C++20)β randomly re-orders elements in a range (niebloid) πranges::partition(C++20)β divides a range of elements into two groups (niebloid) πranges::stable_partition(C++20)β divides elements into two groups while preserving their relative order (niebloid) π§
mwah π this page came from source cppreference.com, version/date 2024.06.10, and itβs the std::permutable(3) manual page β periodt. π«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms