Similar to std::priority_queue, with the following differences:
More...
#include <priority_queue.h>
List of all members.
Public Member Functions |
| internal_priority_queue (size_type capacity) |
| Default constructor creates no elements.
|
bool | empty () const |
size_type | size () const |
const_reference | top () const |
void | push (const value_type &__x) |
| Add data to the queue.
|
void | pop () |
| Removes first element.
|
void | sort_to (value_type *target) |
| Sort all contained elements, write result to target .
|
void | clear () |
| Remove all contained elements.
|
Detailed Description
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
class priority_queue_local::internal_priority_queue< _Tp, _Sequence, _Compare >
Similar to std::priority_queue, with the following differences:
- Maximum size is fixed at construction time, so an array can be used.
- Provides access to underlying heap, so (parallel) sorting in place is possible.
- Can be cleared "at once", without reallocation.
Constructor & Destructor Documentation
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
Default constructor creates no elements.
Member Function Documentation
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
Remove all contained elements.
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
Returns true if the queue is empty.
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
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.
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
Returns the number of elements in the queue.
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
Sort all contained elements, write result to target
.
template<typename _Tp, typename _Sequence = std::vector<_Tp>, typename _Compare = std::less<typename _Sequence::value_type>>
Returns a read-only (constant) reference to the data at the first element of the queue.
The documentation for this class was generated from the following file: