16 template <
typename Callable>
28 std::unique_ptr<ThreadTaskInterface>
task_;
31 template <
typename FuncType>
33 :
task_(std::make_unique<
ThreadTaskImp<std::packaged_task<FuncType>>>(std::move(task))) {
ThreadTask(ThreadTask &&)=default
ThreadTask(std::packaged_task< FuncType > task)
ThreadTask & operator=(const ThreadTask &)=delete
void execute()
Execute this task.
ThreadTask & operator=(ThreadTask &&)=default
std::unique_ptr< ThreadTaskInterface > task_
ThreadTask(const ThreadTask &)=delete
ThreadTaskImp(C &&callable)
virtual void executeImp() override
virtual ~ThreadTaskInterface()=default
virtual void executeImp()=0