Up

module Util

: sig

Some useful operations.

#
module OTProduct : functor (X : Sig.ORDERED_TYPE) -> functor (Y : Sig.ORDERED_TYPE) -> Sig.ORDERED_TYPE with type t = X.t * Y.t

Cartesian product of two ordered types.

#
module HTProduct : functor (X : Sig.HASHABLE) -> functor (Y : Sig.HASHABLE) -> Sig.HASHABLE with type t = X.t * Y.t

Cartesian product of two hashable types.

#
module CMPProduct : functor (X : Sig.COMPARABLE) -> functor (Y : Sig.COMPARABLE) -> Sig.COMPARABLE with type t = X.t * Y.t

Cartesian product of two comparable types.

#
module DataV : functor (L : sig
#
type t
end
) -> functor (V : Sig.COMPARABLE) -> sig

Create a vertex type with some data attached to it

#
type data = L.t
#
type label = V.t
#
type t = data Pervasives.ref * V.t
#
val compare : t -> t -> int
#
val hash : t -> int
#
val equal : t -> t -> bool
#
val create : data -> V.t -> t
#
val label : t -> V.t
#
val data : t -> data
#
val set_data : t -> data -> unit
end
end