An intrusive lock-free MPSC (multiple producer, single consumer) queue. More...
Public Member Functions | |
intrusive_mpsc_queue (intrusive_mpsc_queue const &)=delete | |
intrusive_mpsc_queue & | operator= (intrusive_mpsc_queue const &)=delete |
bool | empty (void) const noexcept |
void | push (T &t) noexcept |
T * | try_pop (void) noexcept |
Public Types | |
typedef T | value_type |
typedef value_type const & | const_reference |
typedef value_type & | reference |
typedef value_type const * | const_pointer |
typedef value_type * | pointer |
An intrusive lock-free MPSC (multiple producer, single consumer) queue.
T | Object type. |
The objects are kept in an lock-free singly linked list in reversed order. Since this is an intrusive queue, T
has to inherit from intrusive_mpsc_queue_hook.