Class MPSCQueue::Producer

Nested Relationships

This class is a nested type of Template Class MPSCQueue.

Class Documentation

class Producer

the handle of a producer, its lane: one thread at a time pushes

Public Functions

Producer(void) = default
inline Producer(Producer &&o) noexcept
inline Producer &operator=(Producer &&o) noexcept
template<class ...Args>
void emplace(Args&&... args)

enqueues the item built from args

Pre:

the handle comes from producer()

inline void push(const T &v)
inline void push(T &&v)
inline void notify(void)

wakes the consumer if it sleeps in waitPop() or waitPopInto(), after pushes: a fence and the read of a line when it does not

Pre:

the handle comes from producer()