libstdc++
Heap
Collaboration diagram for Heap:

Functions


Function Documentation

template<typename _RandomAccessIterator >
bool std::is_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
) [inline]

Determines whether a range is a heap.

Parameters:
firstStart of range.
lastEnd of range.
Returns:
True if range is a heap, false otherwise.

Definition at line 560 of file stl_heap.h.

References std::is_heap_until().

template<typename _RandomAccessIterator , typename _Compare >
bool std::is_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
) [inline]

Determines whether a range is a heap using comparison functor.

Parameters:
firstStart of range.
lastEnd of range.
compComparison functor to use.
Returns:
True if range is a heap, false otherwise.

Definition at line 573 of file stl_heap.h.

References std::is_heap_until().

template<typename _RandomAccessIterator >
_RandomAccessIterator std::is_heap_until ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
) [inline]

Search the end of a heap.

Parameters:
firstStart of range.
lastEnd of range.
Returns:
An iterator pointing to the first element not in the heap.

This operation returns the last iterator i in [first, last) for which the range [first, i) is a heap.

Definition at line 512 of file stl_heap.h.

References std::distance().

template<typename _RandomAccessIterator , typename _Compare >
_RandomAccessIterator std::is_heap_until ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
) [inline]

Search the end of a heap using comparison functor.

Parameters:
firstStart of range.
lastEnd of range.
compComparison functor to use.
Returns:
An iterator pointing to the first element not in the heap.

This operation returns the last iterator i in [first, last) for which the range [first, i) is a heap. Comparisons are made using comp.

Definition at line 538 of file stl_heap.h.

References std::distance().

Referenced by std::is_heap().

template<typename _RandomAccessIterator >
void std::make_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
)

Construct a heap over a range.

Parameters:
firstStart of heap.
lastEnd of heap.

This operation makes the elements in [first,last) into a heap.

Definition at line 375 of file stl_heap.h.

template<typename _RandomAccessIterator , typename _Compare >
void std::make_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
)

Construct a heap over a range using comparison functor.

Parameters:
firstStart of heap.
lastEnd of heap.
compComparison functor to use.

This operation makes the elements in [first,last) into a heap. Comparisons are made using comp.

Definition at line 415 of file stl_heap.h.

Referenced by std::__heap_select(), std::partial_sort_copy(), and std::priority_queue::priority_queue().

template<typename _RandomAccessIterator >
void std::pop_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
) [inline]

Pop an element off a heap.

Parameters:
firstStart of heap.
lastEnd of heap.

This operation pops the top of the heap. The elements first and last-1 are swapped and [first,last-1) is made into a heap.

Definition at line 278 of file stl_heap.h.

template<typename _RandomAccessIterator , typename _Compare >
void std::pop_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
) [inline]

Pop an element off a heap using comparison functor.

Parameters:
firstStart of heap.
lastEnd of heap.
compComparison functor to use.

This operation pops the top of the heap. The elements first and last-1 are swapped and [first,last-1) is made into a heap. Comparisons are made using comp.

Definition at line 352 of file stl_heap.h.

Referenced by std::priority_queue::pop().

template<typename _RandomAccessIterator >
void std::push_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
) [inline]

Push an element onto a heap.

Parameters:
firstStart of heap.
lastEnd of heap + element.

This operation pushes the element at last-1 onto the valid heap over the range [first,last-1). After completion, [first,last) is a valid heap.

Definition at line 156 of file stl_heap.h.

template<typename _RandomAccessIterator , typename _Compare >
void std::push_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
) [inline]

Push an element onto a heap using comparison functor.

Parameters:
firstStart of heap.
lastEnd of heap + element.
compComparison functor.

This operation pushes the element at last-1 onto the valid heap over the range [first,last-1). After completion, [first,last) is a valid heap. Compare operations are performed using comp.

Definition at line 205 of file stl_heap.h.

Referenced by std::priority_queue::push().

template<typename _RandomAccessIterator >
void std::sort_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last 
)

Sort a heap.

Parameters:
firstStart of heap.
lastEnd of heap.

This operation sorts the valid heap in the range [first,last).

Definition at line 454 of file stl_heap.h.

template<typename _RandomAccessIterator , typename _Compare >
void std::sort_heap ( _RandomAccessIterator  __first,
_RandomAccessIterator  __last,
_Compare  __comp 
)

Sort a heap using comparison functor.

Parameters:
firstStart of heap.
lastEnd of heap.
compComparison functor to use.

This operation sorts the valid heap in the range [first,last). Comparisons are made using comp.

Definition at line 483 of file stl_heap.h.

Referenced by std::partial_sort_copy(), and std::partial_sort().