std::priority_queue(3)
NAME
std::priority_queue
SYNOPSIS
Detailed Description
- template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> class std::priority_queue< _Tp,
_Sequence, _Compare >
A standard container automatically sorting its contents. - This is not a true container, but an adaptor. It holds another
container, and provides a wrapper interface to that container. The
wrapper is what enforces priority-based sorting and queue behavior.
Very few of the standard container/sequence interface requirements are met (e.g., iterators). - The second template parameter defines the type of the underlying
sequence/container. It defaults to std::vector, but it can be any type that supports front(), push_back, pop_back, and random-access
iterators, such as std::deque or an appropriate user-defined type. - The third template parameter supplies the means of making priority
comparisons. It defaults to less<value_type> but can be anything
defining a strict weak ordering. - Members not found in 'normal' containers are container_type, which is a
typedef for the second Sequence parameter, and push, pop, and top,
which are standard queue operations. - Note:
No equality/comparison operators are provided for priority_queue.Sorting of the elements takes place as they are added to, and
removed from, the priority_queue using the priority_queue's member functions. If you access the elements by other means, and change
their data such that the sorting order would be different, the
priority_queue will not re-sort the elements for you. (How could it know to do so?) - Definition at line 373 of file stl_queue.h.
- Public Types
- typedef _Sequence::const_reference const_reference
typedef _Sequence container_type
typedef _Sequence::reference reference
typedef _Sequence::size_type size_type
typedef _Sequence::value_type value_type - Public Member Functions
- bool empty () const
void pop ()
template<typename _InputIterator> priority_queue (_InputIterator__first, _InputIterator __last, const _Compare &__x=_Compare(),
const _Sequence &__s=_Sequence()) - priority_queue (const _Compare &__x=_Compare(), const _Sequence
&__s=_Sequence())
- void push (const value_type &__x)
size_type size () const
const_reference top () const - Protected Attributes
- _Sequence c
_Compare comp
Constructor & Destructor Documentation
- template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> std::priority_queue< _Tp, _Sequence, _Compare >::priority_queue (const _Compare & __x = _Compare(), const _Sequence & __s = _Sequence()) [inline, explicit] Default constructor creates no elements.
- Definition at line 402 of file stl_queue.h.
- template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> template<typename
_InputIterator> std::priority_queue< _Tp, _Sequence, _Compare
>::priority_queue (_InputIterator __first, _InputIterator __last, const
_Compare & __x = _Compare(), const _Sequence & __s = _Sequence())
[inline]
Builds a queue from a range. - Parameters:
first An input iterator.
last An input iterator.
x A comparison functor describing a strict weak ordering.
s An initial sequence with which to start. - Begins by copying s, inserting a copy of the elements from [first,last) into the copy of s, then ordering the copy according to x.
- For more information on function objects, see the documentation on
functor base classes. - Definition at line 437 of file stl_queue.h.
Member Function Documentation
- template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> bool std::priority_queue< _Tp, _Sequence, _Compare >::empty () const [inline] Returns true if the queue is empty.
- Definition at line 485 of file stl_queue.h.
- Referenced by __gnu_parallel::multiseq_partition(), and
__gnu_parallel::multiseq_selection(). - template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> void std::priority_queue< _Tp, _Sequence, _Compare >::pop () [inline] Removes first element.
- This is a typical queue operation. It shrinks the queue by one. The
time complexity of the operation depends on the underlying sequence. - Note that no data is returned, and if the first element's data is
needed, it should be retrieved before pop() is called. - Definition at line 542 of file stl_queue.h.
- Referenced by __gnu_parallel::multiseq_partition(), and
__gnu_parallel::multiseq_selection(). - template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> void std::priority_queue< _Tp, _Sequence, _Compare >::push (const value_type & __x) [inline] Add data to the queue.
- Parameters:
x Data to be added.
- This is a typical queue operation. The time complexity of the operation depends on the underlying sequence.
- Definition at line 514 of file stl_queue.h.
- Referenced by __gnu_parallel::multiseq_partition(), and
__gnu_parallel::multiseq_selection(). - template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> size_type std::priority_queue< _Tp, _Sequence, _Compare >::size () const [inline] Returns the number of elements in the queue.
- Definition at line 490 of file stl_queue.h.
- template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare
- = less<typename _Sequence::value_type>> const_reference
std::priority_queue< _Tp, _Sequence, _Compare >::top () const [inline]
Returns a read-only (constant) reference to the data at the first
element of the queue. - Definition at line 498 of file stl_queue.h.
- Referenced by __gnu_parallel::multiseq_partition(), and
__gnu_parallel::multiseq_selection().
Author
- Generated automatically by Doxygen for libstdc++ from the source code.