1 #ifndef YAGE_UTIL_SYNCQUEUE_H
2 #define YAGE_UTIL_SYNCQUEUE_H
4 #include <condition_variable>
21 void push(
const T &item);
35 std::unique_lock<std::mutex> mlock(mutex_);
37 while (queue_.empty()) {
41 auto item = queue_.front();
49 std::unique_lock<std::mutex> mlock(mutex_);
51 while (queue_.empty()) {
55 item = queue_.front();
62 std::unique_lock<std::mutex> mlock(mutex_);
72 std::unique_lock<std::mutex> mlock(mutex_);
74 queue_.push(std::move(item));
SyncQueue & operator=(const SyncQueue &)=delete
T pop()
Definition: syncqueue.h:33
std::condition_variable cond_
Definition: syncqueue.h:27
std::mutex mutex_
Definition: syncqueue.h:26
void push(const T &item)
Definition: syncqueue.h:60
std::queue< T > queue_
Definition: syncqueue.h:25
Definition: syncqueue.h:12