pgLab/src/tsqueue.h
2017-02-11 08:15:01 +01:00

28 lines
451 B
C++

#ifndef TSQUEUE_H
#define TSQUEUE_H
#include "Win32Event.h"
#include <deque>
#include <functional>
#include <mutex>
class TSQueue {
public:
using t_Callable = std::function<void()>;
TSQueue();
void add(t_Callable callable);
bool empty();
t_Callable pop();
HANDLE getNewDataEventHandle();
private:
using t_CallableQueue = std::deque<t_Callable>;
Win32Event newData;
std::mutex m;
t_CallableQueue futureQueue;
};
#endif // TSQUEUE_H