libpromeki main
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
PriorityQueue< T, Compare > Class Template Reference

Priority queue container wrapping std::priority_queue. More...

#include <priorityqueue.h>

Public Member Functions

 PriorityQueue ()=default
 Default constructor. Creates an empty priority queue.
 
 PriorityQueue (const PriorityQueue &other)
 Copy constructor.
 
 PriorityQueue (PriorityQueue &&other) noexcept
 Move constructor.
 
 ~PriorityQueue ()=default
 Destructor.
 
PriorityQueueoperator= (const PriorityQueue &other)
 Copy assignment operator.
 
PriorityQueueoperator= (PriorityQueue &&other) noexcept
 Move assignment operator.
 
bool isEmpty () const
 Returns true if the priority queue has no elements.
 
size_t size () const
 Returns the number of elements.
 
const Ttop () const
 Returns a const reference to the highest-priority element.
 
void push (const T &value)
 Pushes a value into the priority queue.
 
void push (T &&value)
 Pushes a value into the priority queue (move overload).
 
T pop ()
 Removes and returns the highest-priority element.
 
void swap (PriorityQueue &other) noexcept
 Swaps contents with another priority queue.
 

Detailed Description

template<typename T, typename Compare = std::less<T>>
class PriorityQueue< T, Compare >

Priority queue container wrapping std::priority_queue.

Provides a Qt-inspired API over std::priority_queue with consistent naming conventions matching the rest of libpromeki. Not thread-safe; for use inside synchronized contexts. Simple value type — no PROMEKI_SHARED_FINAL.

Template Parameters
TElement type.
CompareComparison function type (default: std::less<T>, which gives a max-heap where pop() returns the largest element).

Member Function Documentation

◆ pop()

template<typename T , typename Compare = std::less<T>>
T PriorityQueue< T, Compare >::pop ( )
inline

Removes and returns the highest-priority element.

Returns
The removed element.

◆ push() [1/2]

template<typename T , typename Compare = std::less<T>>
void PriorityQueue< T, Compare >::push ( const T value)
inline

Pushes a value into the priority queue.

Parameters
valueThe value to insert.

◆ push() [2/2]

template<typename T , typename Compare = std::less<T>>
void PriorityQueue< T, Compare >::push ( T &&  value)
inline

Pushes a value into the priority queue (move overload).

Parameters
valueThe value to move-insert.

◆ swap()

template<typename T , typename Compare = std::less<T>>
void PriorityQueue< T, Compare >::swap ( PriorityQueue< T, Compare > &  other)
inlinenoexcept

Swaps contents with another priority queue.

Parameters
otherThe priority queue to swap with.

The documentation for this class was generated from the following file: