Changeset View
Changeset View
Standalone View
Standalone View
source/ps/TaskManager.h
Show First 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | Future<std::invoke_result_t<T>> PushTask(T&& func, TaskPriority priority = TaskPriority::NORMAL) | ||||
Future<std::invoke_result_t<T>> ret; | Future<std::invoke_result_t<T>> ret; | ||||
DoPushTask(ret.Wrap(std::move(func)), priority); | DoPushTask(ret.Wrap(std::move(func)), priority); | ||||
return ret; | return ret; | ||||
} | } | ||||
private: | private: | ||||
TaskManager(size_t numberOfWorkers); | TaskManager(size_t numberOfWorkers); | ||||
void DoPushTask(std::function<void()>&& task, TaskPriority priority); | void DoPushTask(PackagedTask&& task, TaskPriority priority); | ||||
class Impl; | class Impl; | ||||
std::unique_ptr<Impl> m; | std::unique_ptr<Impl> m; | ||||
}; | }; | ||||
} // namespace Threading | } // namespace Threading | ||||
#endif // INCLUDED_THREADING_TASKMANAGER | #endif // INCLUDED_THREADING_TASKMANAGER |
Wildfire Games · Phabricator