Files
XCEngine/engine/include/XCEngine/Threading/LambdaTask.h

24 lines
415 B
C
Raw Normal View History

#pragma once
#include "Task.h"
namespace XCEngine {
namespace Threading {
template<typename Func>
class LambdaTask : public ITask {
public:
explicit LambdaTask(Func&& func, TaskPriority priority = TaskPriority::Normal)
: ITask(priority), m_func(std::move(func)) {}
void Execute() override {
m_func();
}
private:
Func m_func;
};
} // namespace Threading
} // namespace XCEngine