#pragma once #include namespace exe::executors { enum class Hint { UpToYou = 1, // Rely on executor scheduling decision Next = 2, // Use LIFO scheduling Yield = 3 }; struct IExecutor { virtual ~IExecutor() = default; virtual void Execute(TaskBase* task, Hint hint) = 0; }; } // namespace exe::executors