27 #ifndef WAITFREEQUEUE_H_ 28 #define WAITFREEQUEUE_H_ 53 void push(
const T& data)
57 node * stale_head = _head.load(std::memory_order_relaxed);
60 }
while (!_head.compare_exchange_weak(stale_head, n,
61 std::memory_order_release));
66 node* last = pop_all_reverse(), *first =
nullptr;
76 node * pop_all_reverse(
void)
78 return _head.exchange(
nullptr, std::memory_order_acquire);
82 std::atomic<node*> _head;
Definition: WaitFreeQueue.h:42
Every Eris class and type lives inside the Eris namespace; certain utility functions live in the Util...
Definition: Account.cpp:34
A queue optimized for insertion from background threads and consumption from one main thread...
Definition: EventService.h:35