Module Diameter

module Diameter: sig .. end
Traversal algorithms with tree construction.

module type G = sig .. end
Minimal signature needed for graphs.
module MakeGen (G : G)  (Opt : sig
val symmetric : bool
val unweighted : bool
val uniform_edge_weight : G.W.t option
end) : sig .. end
module NoOpt: sig .. end
module Make (G : G) : MakeGen(G)(NoOpt)
module Symmetric (G : Sig.WeightedGraphAlgo) : MakeGen(sig
include G
val reverse : 'a -> 'a
end)(sig
include NoOpt
val symmetric : bool
end)
module IntWeight: sig .. end
module Unweighted (G : sig
include Sig.GraphAlgo
val reverse : t -> t
end) : MakeGen(sig
include G
type label = int 
val iter_labeled_succ : 'a -> 'b -> 'c
module WT: I
module W: Diameter.IntWeight
end)(sig
val symmetric : bool
val unweighted : bool
val uniform_edge_weight : int option
end)
module UnweightedSymmetric (G : Sig.GraphAlgo) : MakeGen(sig
include G
val reverse : 'a -> 'a
type label = int 
val iter_labeled_succ : 'a -> 'b -> 'c
module WT: I
module W: Diameter.IntWeight
end)(sig
val symmetric : bool
val unweighted : bool
val non_weight : int option
val uniform_edge_weight : int option
end)