#include <RunQueue.h>
Classes | |
struct | Elem |
Public Member Functions | |
bool | Empty () const |
Work | PopBack () |
unsigned | PopBackHalf (std::vector< Work > *result) |
Work | PopFront () |
Work | PushBack (Work w) |
Work | PushFront (Work w) |
RunQueue () | |
unsigned | Size () const |
~RunQueue () | |
Private Types | |
enum | { kEmpty, kBusy, kReady } |
Private Member Functions | |
void | operator= (const RunQueue &)=delete |
RunQueue (const RunQueue &)=delete | |
Private Attributes | |
Elem | array_ [kSize] |
std::atomic< unsigned > | back_ |
std::atomic< unsigned > | front_ |
std::mutex | mutex_ |
Static Private Attributes | |
static const unsigned | kMask = kSize - 1 |
static const unsigned | kMask2 = (kSize << 1) - 1 |
Definition at line 39 of file RunQueue.h.
|
private |
Enumerator | |
---|---|
kEmpty | |
kBusy | |
kReady |
Definition at line 187 of file RunQueue.h.
|
inline |
Definition at line 41 of file RunQueue.h.
|
inline |
Definition at line 50 of file RunQueue.h.
|
privatedelete |
|
inline |
Definition at line 178 of file RunQueue.h.
|
privatedelete |
|
inline |
Definition at line 102 of file RunQueue.h.
|
inline |
Definition at line 120 of file RunQueue.h.
|
inline |
Definition at line 69 of file RunQueue.h.
|
inline |
Definition at line 85 of file RunQueue.h.
|
inline |
Definition at line 54 of file RunQueue.h.
|
inline |
Definition at line 155 of file RunQueue.h.
|
private |
Definition at line 202 of file RunQueue.h.
|
private |
Definition at line 201 of file RunQueue.h.
|
private |
Definition at line 200 of file RunQueue.h.
|
staticprivate |
Definition at line 181 of file RunQueue.h.
|
staticprivate |
Definition at line 182 of file RunQueue.h.
|
private |
Definition at line 192 of file RunQueue.h.