package oasis

  1. Overview
  2. Docs
type vertex = int
module SetInt : sig ... end
type 'a t = {
  1. mutable vertexes : ('a * SetInt.t Pervasives.ref) array;
  2. values : ('a, int) Hashtbl.t;
}
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