yat
0.14.5pre
|
Multi-thread safe priority queue. More...
#include <yat/utility/PriorityQueue.h>
Public Types | |
typedef T | value_type |
Type of object stored in Queue. | |
typedef std::set< T, Compare > ::size_type | size_type |
Public Member Functions | |
PriorityQueue (void) | |
Create a PriorityQueue with no elements. | |
PriorityQueue (const Compare &comp) | |
Create a PriorityQueue with comp as Compare functor. | |
PriorityQueue (const PriorityQueue &other) | |
Copy constructor. More... | |
bool | empty (void) const |
void | pop (T &value) |
access next element is queue More... | |
void | push (const T &t) |
insert an element into container | |
size_type | size (void) const |
bool | try_pop (T &value) |
PriorityQueue & | operator= (const PriorityQueue &lhs) |
assignment operator More... | |
Multi-thread safe priority queue.
This class provides a multi-thread safe priority_queue. The PriorityQueue is typically shared by multiple threads such that some threads push elements and some pop elements. The PriorityQueue is a specifically designed so you can only access the greatest element similar tostd::priority_queue. The difference is that Queue is multi-thread safe, in other words, when one thread access the Queue, other threads are locked out from access so that only one thread touches the Queue at a time and its behaviour is well defined. In a single-thread application there is no point in using the class as std::queue should be prefereble.
typedef std::set<T, Compare>::size_type theplu::yat::utility::PriorityQueue< T, Compare >::size_type |
An unsigned integral type.
|
inline |
Copy constructor.
|
inline |
true
if size is zero
|
inline |
assignment operator
|
inline |
access next element is queue
Access the next element is queue. If container is empty, process is waiting until other process is inserting element into container.
|
inline |
|
inline |