Home | Libraries | People | FAQ | More |
template<class RandomAccessRange> RandomAccessRange& sort(RandomAccessRange& rng); template<class RandomAccessRange> const RandomAccessRange& sort(const RandomAccessRange& rng); template<class RandomAccessRange, class BinaryPredicate> RandomAccessRange& sort(RandomAccessRange& rng, BinaryPredicate pred); template<class RandomAccessRange, class BinaryPredicate> const RandomAccessRange& sort(const RandomAccessRange& rng, BinaryPredicate pred);
sort
sorts the elements
in rng
into ascending
order. sort
is not guaranteed
to be stable. Returns the sorted range.
For versions of the sort
function without a predicate, ascending order is defined by operator<()
such that for all adjacent elements [x,y]
,
y <
x ==
false
.
For versions of the sort
function with a predicate, ascending order is defined by pred
such that for all adjacent elements
[x,y]
, pred(y, x) == false
.
Defined in the header file boost/range/algorithm/sort.hpp
For versions of sort without a predicate:
RandomAccessRange
is
a model of the Random
Access Range Concept.
RandomAccessRange
is
mutable.
RandomAccessRange
's
value type is a model of the LessThanComparableConcept
.
RandomAccessRange
's
value type is a strict weak ordering,
as defined in the LessThanComparableConcept
requirements.
For versions of sort with a predicate
RandomAccessRange
is
a model of the Random
Access Range Concept.
RandomAccessRange
is
mutable.
BinaryPredicate
is
a model of the StrictWeakOrderingConcept
.
RandomAccessRange
's
value type is convertible to both of BinaryPredicate
's
argument types.
O(N log(N))
comparisons (both average and worst-case),
where N
is distance(rng)
.