similar to std::priority_queue, but with ability to access underlying vector to custom modify its elements More...
#include <MRPriorityQueue.h>
Public Types | |
using | value_type = T |
using | Container = std::vector<T> |
using | size_type = typename Container::size_type |
Public Member Functions | |
PriorityQueue () | |
constructs empty queue | |
PriorityQueue (const P &pred) | |
PriorityQueue (const P &pred, Container &&v) | |
initializes queue elements from given vector | |
bool | empty () const |
checks if the queue has no elements | |
size_type | size () const |
returns the number of elements | |
const T & | top () const |
accesses the top element | |
void | push (const value_type &value) |
inserts element in the queue | |
void | push (value_type &&value) |
template<class... Args> | |
void | emplace (Args &&... args) |
void | pop () |
removes the top element from the priority queue | |
Public Attributes | |
Container | c |
similar to std::priority_queue, but with ability to access underlying vector to custom modify its elements
using MR::PriorityQueue< T, P >::Container = std::vector<T> |
using MR::PriorityQueue< T, P >::size_type = typename Container::size_type |
using MR::PriorityQueue< T, P >::value_type = T |
|
inline |
constructs empty queue
|
inlineexplicit |
|
explicit |
initializes queue elements from given vector
|
inline |
|
inline |
checks if the queue has no elements
|
inline |
removes the top element from the priority queue
|
inline |
inserts element in the queue
|
inline |
|
inline |
returns the number of elements
|
inline |
accesses the top element
Container MR::PriorityQueue< T, P >::c |
intentionally left public to allow user access to it, but the user is responsible for restore heap-property of this vector before calling of any method