47 template <
typename TaskPtr>
49 bool operator()(
const TaskPtr& a,
const TaskPtr& b)
const {
50 return a.metadata > b.metadata;
54 template <
typename TaskPtr>
58 template <
typename TaskPtr>
59 static void push(Container<TaskPtr>& container, TaskPtr task) {
60 container.push(std::move(task));
63 template <
typename TaskPtr>
64 static bool popLocal(Container<TaskPtr>& container, TaskPtr& out) {
65 if (container.empty())
return false;
66 out = container.top();
71 template <
typename TaskPtr>
72 static bool popSteal(Container<TaskPtr>& container, TaskPtr& out) {
73 return popLocal(container, out);
Global functions in a separate testing namespace.
Definition chartTesting.h:28
Scheduler< Y, detail::PrioritySchedulerPolicy > PriorityScheduler
Thread pool scheduler that prioritizes tasks by numeric priority.
Definition PriorityScheduler.h:93
Queue policy for PriorityScheduler: min-heap priority_queue by task priority.
Definition PriorityScheduler.h:44
Definition PriorityScheduler.h:48
Thread pool scheduler parameterized by a queue Policy.
Definition Scheduler.h:63
Policy-based work-stealing scheduler.