2
3
4
5
14 m_Nodes[node->m_Name] = node;
19 std::unordered_map<std::string,
bool> visited;
20 for (
auto& node : m_Nodes)
22 if (!visited[node.first])
24 execute_internal(node.second, visited);
31 visited[node->m_Name] =
true;
32 for (
auto& dep : node->m_Dependencies)
36 execute_internal(m_Nodes[dep], visited);
void add_node(directed_acyclic_node *node)
Add a node to this graph.
void execute_internal(directed_acyclic_node *node, std::unordered_map< std::string, bool > &visited)
Execute a node's function.
void execute()
Execute all node function by order.