Defined in header <iterator> | ||
---|---|---|
template< class I, class Comp = ranges::less, class Proj = std::identity > concept sortable = std::permutable<I> && std::indirect_strict_weak_order<Comp, std::projected<I, Proj>>; | (since C++20) |
The sortable
concept specifies the requirements for algorithms that permute a range into an ordered range according to Comp
.
std::sortable<I, Comp, Proj>
is modeled only if all concepts it subsumes are modeled.
(C++20) | sorts a range into ascending order (niebloid) |
(C++20) | sorts a range of elements while preserving order between equal elements (niebloid) |
(C++20) | sorts the first N elements of a range (niebloid) |
(C++20) | partially sorts the given range making sure that it is partitioned by the given element (niebloid) |
(C++20) | merges two ordered ranges in-place (niebloid) |
(C++20) | adds an element to a max heap (niebloid) |
(C++20) | removes the largest element from a max heap (niebloid) |
(C++20) | creates a max heap out of a range of elements (niebloid) |
(C++20) | turns a max heap into a range of elements sorted in ascending order (niebloid) |
(C++20) | generates the next greater lexicographic permutation of a range of elements (niebloid) |
(C++20) | generates the next smaller lexicographic permutation of a range of elements (niebloid) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/sortable