sig
type t
type vertex
val n : t -> int
val iter_vertex : (vertex -> unit) -> t -> unit
val iter_succ : (vertex -> unit) -> t -> vertex -> unit
module V :
sig
type t
type key = vertex
type value = vertex
val create : int -> t
val set : t -> key -> value -> unit
val get : t -> key -> value
end
module I :
sig
type t
type key = vertex
type value = int
val create : int -> t
val set : t -> key -> value -> unit
val get : t -> key -> value
end
val m : t -> int
val string_of_vertex : t -> vertex -> string
val create : ?n:int -> ?m:int -> unit -> t
type node
val vertex : t -> Sig.Graph.node -> vertex
val node : t -> vertex -> Sig.Graph.node
val add_node : t -> Sig.Graph.node -> unit
val add_edge : t -> Sig.Graph.node -> Sig.Graph.node -> unit
val iter_edges : (Sig.Graph.node -> Sig.Graph.node -> unit) -> t -> unit
end