30template <
typename T,
typename Compare = std::less<T>>
53 d = std::move(
other.d);
60 bool isEmpty()
const {
return d.empty(); }
63 size_t size()
const {
return d.size(); }
68 const T &
top()
const {
return d.top(); }
86 d.push(std::move(
value));
110 std::priority_queue<T, std::vector<T>,
Compare> d;
Dynamic array container wrapping std::vector.
Definition list.h:40
Priority queue container wrapping std::priority_queue.
Definition priorityqueue.h:31
void push(const T &value)
Pushes a value into the priority queue.
Definition priorityqueue.h:76
PriorityQueue & operator=(PriorityQueue &&other) noexcept
Move assignment operator.
Definition priorityqueue.h:52
~PriorityQueue()=default
Destructor.
bool isEmpty() const
Returns true if the priority queue has no elements.
Definition priorityqueue.h:60
void push(T &&value)
Pushes a value into the priority queue (move overload).
Definition priorityqueue.h:85
PriorityQueue(const PriorityQueue &other)
Copy constructor.
Definition priorityqueue.h:37
const T & top() const
Returns a const reference to the highest-priority element.
Definition priorityqueue.h:68
PriorityQueue(PriorityQueue &&other) noexcept
Move constructor.
Definition priorityqueue.h:40
PriorityQueue()=default
Default constructor. Creates an empty priority queue.
size_t size() const
Returns the number of elements.
Definition priorityqueue.h:63
void swap(PriorityQueue &other) noexcept
Swaps contents with another priority queue.
Definition priorityqueue.h:104
PriorityQueue & operator=(const PriorityQueue &other)
Copy assignment operator.
Definition priorityqueue.h:46
T pop()
Removes and returns the highest-priority element.
Definition priorityqueue.h:94
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19
const T & value(const Result< T > &r)
Returns the value from a Result.
Definition result.h:56