#include "tsqueue.h" TSQueue::TSQueue() // : newData(Win32Event::Reset::Manual, Win32Event::Initial::Clear) {} void TSQueue::add(t_Callable callable) { std::lock_guard g(m); futureQueue.push_back(std::move(callable)); // newData.set(); } bool TSQueue::empty() { std::lock_guard g(m); return futureQueue.empty(); } TSQueue::t_Callable TSQueue::pop() { std::lock_guard g(m); auto f = std::move(futureQueue.front()); futureQueue.pop_front(); if (futureQueue.empty()) { // newData.reset(); } return f; } // HANDLE TSQueue::getNewDataEventHandle() // { // return newData.handle(); // }