21class TaskGraph :
public std::enable_shared_from_this<TaskGraph>
24 struct Private {
explicit Private() =
default;};
32 static std::shared_ptr<TaskGraph>
create()
34 return std::make_shared<TaskGraph>(Private());
38 return shared_from_this();
49 auto & node = m_nodes.emplace_back(shared_from_this(), std::forward<F>(
task));
55 auto & node = m_nodes.emplace_back(shared_from_this(), graph);
66 return m_nodes.empty();
70 std::list<TaskNode> m_nodes;
Definition: Executor.hpp:21
Definition: TaskGraph.hpp:22
void clear()
Definition: TaskGraph.hpp:59
TaskGraph(TaskGraph &&)=default
TaskGraph(Private)
Definition: TaskGraph.hpp:26
TaskGraph(const TaskGraph &)=delete
Task emplace(std::shared_ptr< TaskGraph > graph)
Definition: TaskGraph.hpp:53
~TaskGraph()
Definition: TaskGraph.hpp:40
bool empty()
Definition: TaskGraph.hpp:64
static std::shared_ptr< TaskGraph > create()
Definition: TaskGraph.hpp:32
TaskGraph & operator=(const TaskGraph &)=delete
std::shared_ptr< TaskGraph > getPtr()
Definition: TaskGraph.hpp:36
TaskGraph & operator=(TaskGraph &&)=default
Task emplace(F &&task)
Definition: TaskGraph.hpp:47
Definition: Executor.cpp:5