#include <blocking_queue.h>
Public Member Functions | |
BlockingQueue () | |
BlockingQueue (const BlockingQueue &)=delete | |
BlockingQueue (const size_t queue_size) | |
BlockingQueue & | operator= (const BlockingQueue &)=delete |
template<typename R > | |
const R * | Peek () |
T | Pop () |
T | PopWithTimeout (const common::Duration timeout) |
void | Push (T t) |
bool | PushWithTimeout (T t, const common::Duration timeout) |
size_t | Size () |
void | WaitUntilEmpty () |
Static Public Attributes | |
static constexpr size_t | kInfiniteQueueSize = 0 |
Private Member Functions | |
const size_t queue_size_ | GUARDED_BY (mutex_) |
std::deque< T > deque_ | GUARDED_BY (mutex_) |
bool | QueueEmptyCondition () REQUIRES(mutex_) |
bool | QueueNotFullCondition () REQUIRES(mutex_) |
Private Attributes | |
Mutex | mutex_ |
Definition at line 35 of file blocking_queue.h.
|
inline |
Definition at line 40 of file blocking_queue.h.
|
delete |
|
inlineexplicit |
Definition at line 46 of file blocking_queue.h.
|
private |
|
private |
|
delete |
|
inline |
Definition at line 94 of file blocking_queue.h.
|
inline |
Definition at line 68 of file blocking_queue.h.
|
inline |
Definition at line 78 of file blocking_queue.h.
|
inline |
Definition at line 49 of file blocking_queue.h.
|
inline |
Definition at line 56 of file blocking_queue.h.
|
inlineprivate |
Definition at line 116 of file blocking_queue.h.
|
inlineprivate |
Definition at line 119 of file blocking_queue.h.
|
inline |
Definition at line 103 of file blocking_queue.h.
|
inline |
Definition at line 109 of file blocking_queue.h.
|
static |
Definition at line 37 of file blocking_queue.h.
|
private |
Definition at line 123 of file blocking_queue.h.