18 #ifndef INCLUDED_THREADING_TASKMANAGER 19 #define INCLUDED_THREADING_TASKMANAGER 50 static void Initialise();
61 size_t GetNumberOfWorkers()
const;
70 DoPushTask(ret.
Wrap(std::move(func)), priority);
77 void DoPushTask(std::function<
void()>&& task,
TaskPriority priority);
80 const std::unique_ptr<Impl>
m;
84 #endif // INCLUDED_THREADING_TASKMANAGER The task manager creates all worker threads on initialisation, and manages the task queues...
Definition: TaskManager.h:39
PackagedTask< ResultType > Wrap(T &&func)
Make the future wait for the result of func.
Definition: Future.h:281
Light-weight threading utilities.
Definition: TaskManager.cpp:37
PImpl-ed implementation of the Task manager.
Definition: TaskManager.cpp:122
Corresponds to std::future.
Definition: Future.h:145
#define T(string_literal)
Definition: secure_crt.cpp:77
const std::unique_ptr< Impl > m
Definition: TaskManager.h:79
TaskPriority
Definition: TaskManager.h:28
Future< std::invoke_result_t< T > > PushTask(T &&func, TaskPriority priority=TaskPriority::NORMAL)
Push a task to be executed.
Definition: TaskManager.h:67
Worker thread: process the taskManager queues until killed.
Definition: TaskManager.cpp:97