Module Graph.Blocks
Common implementation to persistent and imperative graphs.
val first_value_for_cpt_vertex : int
val cpt_vertex : int Stdlib.ref
val max_cpt : int -> int -> int
val after_unserialization : int -> unit
Association table builder
module type HM = sig ... end
Common signature to an imperative/persistent association table
module type TBL_BUILDER = functor (X : Sig.COMPARABLE) -> HM with type key = X.t
module Make_Hashtbl : functor (X : Sig.COMPARABLE) -> sig ... end
HM
implementation using hashtbl.
module Make_Map : functor (X : Sig.COMPARABLE) -> sig ... end
HM
implementation using map
Blocks builder
module Minimal : functor (S : Stdlib.Set.S) -> functor (HM : HM) -> sig ... end
Common implementation to all (directed) graph implementations.
module Pred : functor (S : sig ... end) -> sig ... end
All the predecessor operations from the iterators on the edges
module Unlabeled : functor (V : Sig.COMPARABLE) -> functor (HM : HM with type key = V.t) -> sig ... end
Common implementation to all the unlabeled (directed) graphs.
module Labeled : functor (V : Sig.COMPARABLE) -> functor (E : Sig.ORDERED_TYPE) -> functor (HM : HM with type key = V.t) -> sig ... end
Common implementation to all the labeled (directed) graphs.
module ConcreteVertex : functor (F : TBL_BUILDER) -> functor (V : Sig.COMPARABLE) -> sig ... end
The vertex module and the vertex table for the concrete graphs.
module Make_Abstract : functor (G : sig ... end) -> sig ... end
module BidirectionalMinimal : functor (S : Stdlib.Set.S) -> functor (HM : HM) -> sig ... end
module BidirectionalUnlabeled : functor (V : Sig.COMPARABLE) -> functor (HM : HM with type key = V.t) -> sig ... end
module BidirectionalLabeled : functor (V : Sig.COMPARABLE) -> functor (E : Sig.ORDERED_TYPE) -> functor (HM : HM with type key = V.t) -> sig ... end
module Make : functor (F : TBL_BUILDER) -> sig ... end
Build persistent (resp. imperative) graphs from a persistent (resp. imperative) association table