std::sortable

< cpp‎ | iterator
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)
sorts a range of elements while preserving order between equal elements
(niebloid)
sorts the first N elements of a range
(niebloid)
partially sorts the given range making sure that it is partitioned by the given element
(niebloid)
merges two ordered ranges in-place
(niebloid)
adds an element to a max heap
(niebloid)
removes the largest element from a max heap
(niebloid)
creates a max heap out of a range of elements
(niebloid)
turns a max heap into a range of elements sorted in ascending order
(niebloid)
generates the next greater lexicographic permutation of a range of elements
(niebloid)
generates the next smaller lexicographic permutation of a range of elements
(niebloid)