fn dfs<G: NodeIndexable + IntoNeighborsDirected + IntoNodeIdentifiers + Visitable>(
graph: G,
start: G::NodeId,
order_map: &OrderMap<G::NodeId>,
valid_order: impl FnMut(TopologicalPosition) -> Result<bool, Cycle<G::NodeId>>,
res: &mut BTreeMap<TopologicalPosition, G::NodeId>,
discovered: &mut FixedBitSet,
finished: &mut FixedBitSet,
) -> Result<(), Cycle<G::NodeId>>Expand description
Traverse nodes in graph in DFS order, starting from start, for as long
as the predicate valid_order returns true on the current node’s order.