-
Ell authored
Remove gegl_visitor_{dfs,bfs}_traverse(). They weren't actually performing DFS and BFS, but were rather characterized by performing topological (dependencies-first) and reverse-topological (dependencies-last) search. Instead, add gegl_visitor_traverse_[reverse_]topological(), which perform a forward- and reverse-topological search, with lower overhead (in the BFS case, the specific order is different than before.) Adapt the rest of the code to use the new functions. In particular, use a single GQueue in GeglGraphTraversal to store the path in topological order, instead of separate DFS and BFS paths. We forward-iterate over the path where we'd previously used the DFS list, and reverse-iterate where we'd previously used the BFS list. Remove GeglListVisitor, since it's no longer used.
f68e28b2