10 #include <hpda/engine/functor.h>
11 #include <unordered_map>
12 #include <unordered_set>
22 void remove_functor(
functor * f);
30 std::vector<functor *> find_outputs()
const;
34 bool functor_has_input(
functor *f)
const;
36 bool is_output(
functor *f)
const;
39 std::vector<functor *> m_functors;
41 std::unordered_map<functor *, std::unordered_set<functor *>> m_successors;
42 std::unordered_map<functor *, std::unordered_set<functor *>> m_predecessors;
43 std::unordered_set<functor *> m_reach_ends;