Module type Avl_topo.GRAPH


module type GRAPH = sig  end


type graph
The type of graphs.


type node
The type of nodes.

val iter_nodes : (node -> unit) -> graph -> unit
iter_nodes f g applies f on every nodes of the graph g. The order in which nodes are considered does not matter. However, each node must be considered exactly once.
val iter_successors : (node -> unit) -> node -> unit
iter_successors f nd applies f on every successors of the node nd in its graph. The order in which successors are considere does not matter. Multiple occurences of the same successor are allowed.
val get : node -> int
Every node must carry a transient integer field. No assumption is made on the initial content of this field. The following functions allows reading and updating this field.
val set : node -> int -> unit