template<typename QueueType, typename ConsumerToken, typename EmplaceEnablerType>
class concurrent::Consumer< QueueType, ConsumerToken, EmplaceEnablerType >
Consumer side of concurrent queues.
- Warning
- A single Consumer must not be used from multiple threads concurrently
- See also
- concurrent_queues
Definition at line 101 of file queue_helpers.hpp.
|
| Consumer (const Consumer &)=delete |
|
| Consumer (Consumer &&) noexcept=default |
|
Consumer & | operator= (const Consumer &)=delete |
|
Consumer & | operator= (Consumer &&other) noexcept |
|
bool | Pop (ValueType &value, engine::Deadline deadline={}) const |
| Pop an element from queue. May wait asynchronously if the queue is empty, but the producer is alive.
|
|
bool | PopNoblock (ValueType &value) const |
| Try to pop an element from queue without blocking. May be used in non-coroutine environment.
|
|
void | Reset () && |
|
std::shared_ptr< const QueueType > | Queue () const |
| Const access to source queue.
|
|