42 using Metadata = std::monostate;
44 template <
typename TaskPtr>
45 using Container = std::deque<TaskPtr>;
47 template <
typename TaskPtr>
48 static void push(Container<TaskPtr>& container, TaskPtr task) {
49 container.push_back(std::move(task));
52 template <
typename TaskPtr>
53 static bool popLocal(Container<TaskPtr>& container, TaskPtr& out) {
54 if (container.empty())
return false;
55 out = std::move(container.back());
60 template <
typename TaskPtr>
61 static bool popSteal(Container<TaskPtr>& container, TaskPtr& out) {
62 if (container.empty())
return false;
63 out = std::move(container.front());
64 container.pop_front();
Scheduler< Y, detail::TaskSchedulerPolicy > TaskScheduler
Thread pool scheduler that executes tasks without priority ordering.
Definition TaskScheduler.h:82