sig
module type G =
sig
type t
module V : Sig.COMPARABLE
module E :
sig
type t
type label
val label : Prim.G.E.t -> Prim.G.E.label
val dst : Prim.G.E.t -> V.t
val src : Prim.G.E.t -> V.t
val compare : Prim.G.E.t -> Prim.G.E.t -> int
end
val iter_vertex : (V.t -> unit) -> Prim.G.t -> unit
val iter_edges_e : (Prim.G.E.t -> unit) -> Prim.G.t -> unit
val iter_succ_e : (Prim.G.E.t -> unit) -> Prim.G.t -> V.t -> unit
end
module Make :
functor
(G : G) (W : sig
type edge = G.E.t
type t
val weight : edge -> t
val compare : t -> t -> int
val add : t -> t -> t
val zero : t
end) ->
sig
val spanningtree : Prim.G.t -> Prim.G.E.t list
val spanningtree_from : Prim.G.t -> G.V.t -> Prim.G.E.t list
end
end