|  | Home | Libraries | People | FAQ | More | 
template<class RandomAccessRange> RandomAccessRange& pop_heap(RandomAccessRange& rng); template<class RandomAccessRange> const RandomAccessRange& pop_heap(const RandomAccessRange& rng); template<class RandomAccessRange, class Compare> RandomAccessRange& pop_heap(RandomAccessRange& rng, Compare pred); template<class RandomAccessRange, class Compare> const RandomAccessRange& pop_heap(const RandomAccessRange& rng, Compare pred);
            pop_heap removes the
            largest element from the heap. It is assumed that begin(rng), prior(end(rng)) is already a heap (and therefore the
            largest element is *begin(rng)).
          
            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.
              !empty(rng)
              rng is a heap.
              
            Logarithmic. At most 2 *
            log(distance(rng))
            comparisons.