libstdc++
Collaboration diagram for Heap:

Functions

template<typename _RandomAccessIterator >
bool std::is_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator , typename _Compare >
bool std::is_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator >
_RandomAccessIterator std::is_heap_until (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator , typename _Compare >
_RandomAccessIterator std::is_heap_until (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator >
void std::make_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator , typename _Compare >
void std::make_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator >
void std::pop_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator , typename _Compare >
void std::pop_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator >
void std::push_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator , typename _Compare >
void std::push_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 
template<typename _RandomAccessIterator >
void std::sort_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
 
template<typename _RandomAccessIterator , typename _Compare >
void std::sort_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
 

Detailed Description

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< _Tp, _Sequence, _Compare >::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< _Tp, _Sequence, _Compare >::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< _Tp, _Sequence, _Compare >::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(), and std::partial_sort_copy().