pub struct Topo<N, VM> { /* private fields */ }
Expand description

A topological order traversal for a graph.

Note that Topo only visits nodes that are not part of cycles, i.e. nodes in a true DAG. Use other visitors like DfsPostOrder or algorithms like kosaraju_scc to handle graphs with possible cycles.

Implementations

Create a new Topo, using the graph’s visitor map, and put all initial nodes in the to visit list.

Clear visited state, and put all initial nodes in the to visit list.

Return the next node in the current topological order traversal, or None if the traversal is at the end.

Note: The graph may not have a complete topological order, and the only way to know is to run the whole traversal and make sure it visits every node.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Returns the “default value” for a type. Read more
Advance to the next item
Create an iterator out of the walker and given context.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.