#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.
| cartographer::common::LocklessQueue< T >::LocklessQueue | ( | ) | [inline] |
Definition at line 37 of file lockless_queue.h.
| cartographer::common::LocklessQueue< T >::~LocklessQueue | ( | ) | [inline] |
Definition at line 44 of file lockless_queue.h.
| void cartographer::common::LocklessQueue< T >::FreeNodes | ( | Node * | node | ) | [inline, private] |
Definition at line 88 of file lockless_queue.h.
| std::unique_ptr<T> cartographer::common::LocklessQueue< T >::Pop | ( | ) | [inline] |
Definition at line 60 of file lockless_queue.h.
| Node* cartographer::common::LocklessQueue< T >::PopNodeFromFreeList | ( | ) | [inline, private] |
Definition at line 111 of file lockless_queue.h.
| void cartographer::common::LocklessQueue< T >::Push | ( | std::unique_ptr< T > | t | ) | [inline] |
Definition at line 51 of file lockless_queue.h.
| void cartographer::common::LocklessQueue< T >::PushNodeToList | ( | std::atomic< Node * > * | list_head, |
| Node * | node | ||
| ) | [inline, private] |
Definition at line 97 of file lockless_queue.h.
| void cartographer::common::LocklessQueue< T >::SwapLists | ( | ) | [inline, private] |
Definition at line 128 of file lockless_queue.h.
Node* cartographer::common::LocklessQueue< T >::data_list_head_ [private] |
Definition at line 165 of file lockless_queue.h.
Node* cartographer::common::LocklessQueue< T >::data_list_tail_ [private] |
Definition at line 168 of file lockless_queue.h.
std::atomic<Node*> cartographer::common::LocklessQueue< T >::free_list_head_ [private] |
Definition at line 159 of file lockless_queue.h.
std::atomic<Node*> cartographer::common::LocklessQueue< T >::incoming_data_list_head_ [private] |
Definition at line 162 of file lockless_queue.h.