# Functor Topological.Make

    module Make: functor (G : G) -> sig .. end

Functor providing topological iterators over a graph.

Parameters: |
`G` | : | `G`

    val fold : (G.V.t -> 'a -> 'a) -> Topological.G.t -> 'a -> 'a

`fold action g seed` allows iterating over the graph `g` in topological order. `action node accu` is called repeatedly, where `node` is the node being visited, and `accu` is the result of the `action`'s previous invocation, if any, and `seed` otherwise. If `g` contains cycles, the order is unspecified inside the cycles and every node in the cycles will be presented exactly once.

Not tail-recursive. Complexity: O(V+E)

    val iter : (G.V.t -> unit) -> Topological.G.t -> unit

`iter action` calls `action node` repeatedly. Nodes are (again) presented to `action` in topological order. The order is the same as for `fold`.