#pragma once #include #include #include 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 {}; } // namespace exe::executors