#include <readerwriterqueue.h>
Classes | |
struct | Block |
struct | ReentrantGuard |
Public Member Functions | |
AE_FORCEINLINE bool | enqueue (T const &element) |
AE_FORCEINLINE bool | enqueue (T &&element) |
T * | peek () |
bool | pop () |
ReaderWriterQueue (size_t max_size=15) | |
size_t | sizeApprox () const |
template<typename U > | |
bool | tryDequeue (U &result) |
AE_FORCEINLINE bool | tryEnqueue (T const &element) |
AE_FORCEINLINE bool | tryEnqueue (T &&element) |
~ReaderWriterQueue () | |
Private Types | |
enum | AllocationMode { CanAlloc, CannotAlloc } |
Private Member Functions | |
template<AllocationMode canAlloc, typename U > | |
bool | innerEnqueue (U &&element) |
ReaderWriterQueue & | operator= (ReaderWriterQueue const &) |
ReaderWriterQueue (ReaderWriterQueue const &) | |
Static Private Member Functions | |
template<typename U > | |
static AE_FORCEINLINE char * | alignFor (char *ptr) |
static AE_FORCEINLINE size_t | ceilToPow2 (size_t x) |
static Block * | makeBlock (size_t capacity) |
Private Attributes | |
char | cachelineFiller_ [MOODYCAMEL_CACHE_LINE_SIZE-sizeof(WeakAtomic< Block * >)] |
bool | dequeuing_ |
bool | enqueuing_ |
WeakAtomic< Block * > | front_block_ |
size_t | largest_block_size_ |
WeakAtomic< Block * > | tail_block_ |
Definition at line 53 of file readerwriterqueue.h.
|
private |
Enumerator | |
---|---|
CanAlloc | |
CannotAlloc |
Definition at line 447 of file readerwriterqueue.h.
|
inlineexplicit |
Definition at line 80 of file readerwriterqueue.h.
|
inline |
Definition at line 148 of file readerwriterqueue.h.
|
inlineprivate |
Definition at line 558 of file readerwriterqueue.h.
|
inlinestaticprivate |
Definition at line 583 of file readerwriterqueue.h.
|
inlinestaticprivate |
Definition at line 567 of file readerwriterqueue.h.
|
inline |
Definition at line 195 of file readerwriterqueue.h.
|
inline |
Definition at line 203 of file readerwriterqueue.h.
|
inlineprivate |
Definition at line 454 of file readerwriterqueue.h.
|
inlinestaticprivate |
Definition at line 659 of file readerwriterqueue.h.
|
inlineprivate |
Definition at line 563 of file readerwriterqueue.h.
|
inline |
Definition at line 314 of file readerwriterqueue.h.
|
inline |
Definition at line 359 of file readerwriterqueue.h.
|
inline |
Definition at line 430 of file readerwriterqueue.h.
|
inline |
Definition at line 212 of file readerwriterqueue.h.
|
inline |
Definition at line 179 of file readerwriterqueue.h.
|
inline |
Definition at line 187 of file readerwriterqueue.h.
|
private |
Definition at line 678 of file readerwriterqueue.h.
|
private |
Definition at line 685 of file readerwriterqueue.h.
|
private |
Definition at line 684 of file readerwriterqueue.h.
|
private |
Definition at line 676 of file readerwriterqueue.h.
|
private |
Definition at line 681 of file readerwriterqueue.h.
|
private |
Definition at line 679 of file readerwriterqueue.h.