Home | Libraries | People | FAQ | More |
template<class RandomAccessRange> RandomAccessRange& sort_heap(RandomAccessRange& rng); template<class RandomAccessRange> const RandomAccessRange& sort_heap(const RandomAccessRange& rng); template<class RandomAccessRange, class Compare> RandomAccessRange& sort_heap(RandomAccessRange& rng, Compare pred); template<class RandomAccessRange, class Compare> const RandomAccessRange& sort_heap(const RandomAccessRange& rng, Compare pred);
sort_heap
turns a heap
into a sorted range.
The ordering relationship is determined by using operator<
in the non-predicate versions, and
by evaluating pred
in
the predicate versions.
Defined in the header file boost/range/algorithm/heap_algorithm.hpp
For the non-predicate versions:
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 the predicate versions:
RandomAccessRange
is
a model of the Random
Access Range Concept.
RandomAccessRange
is
mutable.
Compare
is a model
of the StrictWeakOrderingConcept
.
RandomAccessRange
's
value type is convertible to both of Compare
's
argument types.
rng
is a heap.
At most N *
log(N)
comparisons, where N
is distance(rng)
.