• Ell's avatar
    graph, process: replace DFS/BFS with topological search · f68e28b2
    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
    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.