W3cubDocs

/C++

std::sortable

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.

Semantic requirements

std::sortable<I, Comp, Proj> is modeled only if all concepts it subsumes are modeled.

See also

(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