36 assertion3(priority >= 0, _taskType, _priority, priority);
44 for (
auto pp : otherTasks) {
52 return "<no-description-available>";
58 const std::function<
void()>& taskFunctor
60 ,
const std::string& taskDescription
63 Task(taskType, priority),
64 _taskFunctor(taskFunctor)
66 , _taskDescription(taskDescription)
76 return _taskDescription;
83 Task(taskType, priority),
84 _taskFunctor(taskFunctor) {
#define assertion2(expr, param0, param1)
#define assertion3(expr, param0, param1, param2)
bool operator<(const tarch::multicore::Task &lhs, const tarch::multicore::Task &rhs)
virtual std::string toString() const override
virtual void run() override
Run the task.
bool operator()(const Task &lhs, const Task &rhs) const
virtual std::string toString() const override
TaskWithCopyOfFunctor()=delete
virtual void run() override
Run the task.
TaskWithoutCopyOfFunctor()=delete
virtual void run() override
Run the task.
Abstract super class for a job.
virtual std::string toString() const
virtual void run()=0
Run the task.
virtual bool canFuse() const
virtual void fuse(const std::list< Task * > &otherTasks, int targetDevice=Host)
Fuse multiple tasks.
Task(int taskType, int priority)
Construct task.
void setPriority(int priority)
Set priority.