executor/fibers/scheduler/exe/executors/task.hpp
2024-04-22 18:02:31 +03:00

20 lines
395 B
C++

#pragma once
#include <wheels/intrusive/forward_list.hpp>
#include <functional>
#include <wheels/support/function.hpp>
namespace exe::executors {
struct ITask {
virtual ~ITask() = default;
virtual void Run() noexcept = 0;
virtual void Discard() noexcept = 0;
};
// Intrusive task
struct TaskBase : ITask, wheels::IntrusiveForwardListNode<TaskBase> {};
} // namespace exe::executors