#include <lockless_queue.h>
Classes | |
struct | Node |
Public Member Functions | |
LocklessQueue () | |
std::unique_ptr< T > | Pop () |
void | Push (std::unique_ptr< T > t) |
~LocklessQueue () | |
Private Member Functions | |
void | FreeNodes (Node *node) |
Node * | PopNodeFromFreeList () |
void | PushNodeToList (std::atomic< Node *> *list_head, Node *node) |
void | SwapLists () |
Private Attributes | |
Node * | data_list_head_ |
Node * | data_list_tail_ |
std::atomic< Node * > | free_list_head_ |
std::atomic< Node * > | incoming_data_list_head_ |
Definition at line 35 of file lockless_queue.h.
|
inline |
Definition at line 37 of file lockless_queue.h.
|
inline |
Definition at line 44 of file lockless_queue.h.
|
inlineprivate |
Definition at line 88 of file lockless_queue.h.
|
inline |
Definition at line 60 of file lockless_queue.h.
|
inlineprivate |
Definition at line 111 of file lockless_queue.h.
|
inline |
Definition at line 51 of file lockless_queue.h.
|
inlineprivate |
Definition at line 97 of file lockless_queue.h.
|
inlineprivate |
Definition at line 128 of file lockless_queue.h.
|
private |
Definition at line 165 of file lockless_queue.h.
|
private |
Definition at line 168 of file lockless_queue.h.
|
private |
Definition at line 159 of file lockless_queue.h.
|
private |
Definition at line 162 of file lockless_queue.h.