15 using Mutex = std::mutex;
16 using Condition = std::condition_variable;
17 using Lock = std::unique_lock<Mutex>;
18 using Task = std::function<void()>;
19 using LockTask = std::function<void(Lock& lock)>;
24 void submitTaskBlocking(
const Task& task);
25 void submitTaskBlocking(Lock& lock,
const Task& task);
28 void withLock(
const Task& task);
29 void withLockConditional(
const LockTask& task);
33 bool _taskPending{
false };
34 Condition _taskCondition;