module OASISGraph:sig..end
typevertex =int
module SetInt:Stdlib.Set.Make(sig
typet =int
val compare : int -> int -> intend)
type 'a t = {
|
mutable vertexes : |
|
values : |
}
val create : int -> 'a t
val copy : 'a t -> 'a t
val value_of_vertex : 'a t -> int -> 'a
val vertex_of_value : 'a t -> 'a -> int
val add_vertex : 'a t -> 'a -> int
val add_edge : 'a t -> int -> SetInt.elt -> unit
val topological_sort : 'a t -> int list
val fold_edges : (int -> SetInt.elt -> 'a -> 'a) -> 'b t -> 'a -> 'a
val transitive_closure : 'a t -> unit