Documentation Home >> Headers >> <jss/mpsc_fifo.hpp> Header >> jss::mpsc_fifo >> jss::mpsc_fifo::pop member function

Retrieve a value from the front of the queue.

T pop();

Requires:

T must be MoveConstructible.

Effects:

Blocks the calling thread until there is at least one item on the queue. Removes the front item from the queue and returns it. If an exception is thrown by the move constructor of T whilst retrieving the value then that item is lost.

Returns:

The item removed from the queue

Throws:

Any exception thrown by the move constructor of T. jss::poisoned_queue if *this has been poisoned.

Synchronization:

Only one thread may call pop() or try_pop() on a particular instance of jss::mpsc_fifo concurrently. If two threads call pop() or try_pop() on the same instance and neither call happens-before the other then the behaviour is undefined.

A call to push() synchronizes-with a call to pop() that retrieves the value pushed.

Header

#include <jss/mpsc_fifo.hpp>

See Also