18#ifndef TRINITY_PRODUCER_CONSUMER_QUEUE_H
19#define TRINITY_PRODUCER_CONSUMER_QUEUE_H
21#include <condition_variable>
51 _queue.push(std::move(value));
77 value = std::move(
_queue.front());
103 std::unique_lock<std::mutex> lock(
_queueLock);
107 T& value =
_queue.front();
109 if constexpr (std::is_pointer_v<T>)
void WaitAndPop(T &value)
std::atomic< bool > _shutdown
void Push(T const &value)
std::condition_variable _condition