Graph.UtilSome useful operations.
module OTProduct (X : Sig.ORDERED_TYPE) (Y : Sig.ORDERED_TYPE) : Sig.ORDERED_TYPE with type t = X.t * Y.tCartesian product of two ordered types.
module HTProduct (X : Sig.HASHABLE) (Y : Sig.HASHABLE) : Sig.HASHABLE with type t = X.t * Y.tCartesian product of two hashable types.
module CMPProduct (X : Sig.COMPARABLE) (Y : Sig.COMPARABLE) : Sig.COMPARABLE with type t = X.t * Y.tCartesian product of two comparable types.
module DataV (L : sig ... end) (V : Sig.COMPARABLE) : sig ... endCreate a vertex type with some data attached to it