sig
val debug : bool Pervasives.ref
module type Tagged_type =
sig
type t
val tag : Ptmap.Tagged_type.t -> int
val equal : Ptmap.Tagged_type.t -> Ptmap.Tagged_type.t -> bool
val pretty : Format.formatter -> Ptmap.Tagged_type.t -> unit
module Datatype :
sig
type t = t
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project :
((Project.project -> bool) -> t -> bool) option ref
end
end
module Make :
functor
(X : sig
type t
val name : string
val id : Ptmap.Make.t -> int
val pretty : Format.formatter -> Ptmap.Make.t -> unit
val equal : Ptmap.Make.t -> Ptmap.Make.t -> bool
module Datatype :
sig
type t = t
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) ->
?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project :
((Project.project -> bool) -> t -> bool) option ref
end
end) ->
functor (V : Tagged_type) ->
functor (Initial_Values : sig val v : (X.t * V.t) list list end) ->
sig
type t
type key = X.t
val empty : Ptmap.Make.t
val tag : Ptmap.Make.t -> int
val hash_debug : Ptmap.Make.t -> int
val equal : Ptmap.Make.t -> Ptmap.Make.t -> bool
val is_empty : Ptmap.Make.t -> bool
val add : Ptmap.Make.key -> V.t -> Ptmap.Make.t -> Ptmap.Make.t
val find : Ptmap.Make.key -> Ptmap.Make.t -> V.t
val remove : Ptmap.Make.key -> Ptmap.Make.t -> Ptmap.Make.t
val iter : (X.t -> V.t -> unit) -> Ptmap.Make.t -> unit
val map : (V.t -> V.t) -> Ptmap.Make.t -> Ptmap.Make.t
val fold : (X.t -> V.t -> 'a -> 'a) -> Ptmap.Make.t -> 'a -> 'a
val generic_merge :
cache:string * int ->
decide:(X.t -> V.t option -> V.t option -> V.t) ->
Ptmap.Make.t -> Ptmap.Make.t -> Ptmap.Make.t
val symetric_merge :
cache:string * int ->
decide_none:(X.t -> V.t -> V.t) ->
decide_some:(V.t -> V.t -> V.t) ->
Ptmap.Make.t -> Ptmap.Make.t -> Ptmap.Make.t
val generic_is_included :
exn ->
cache:string * int ->
decide_fst:(X.t -> V.t -> unit) ->
decide_snd:(X.t -> V.t -> unit) ->
decide_both:(V.t -> V.t -> unit) ->
Ptmap.Make.t -> Ptmap.Make.t -> unit
val cached_fold :
cache:string * int ->
f:(Ptmap.Make.key -> V.t -> 'a) ->
joiner:('a -> 'a -> 'a) -> empty:'a -> Ptmap.Make.t -> 'a
val cached_map :
cache:string * int ->
f:(Ptmap.Make.key -> V.t -> V.t) ->
Ptmap.Make.t -> Ptmap.Make.t
val is_singleton : Ptmap.Make.t -> (Ptmap.Make.key * V.t) option
val min_binding : Ptmap.Make.t -> Ptmap.Make.key * V.t
module Datatype :
sig
type t = t
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project :
((Project.project -> bool) -> t -> bool) option ref
end
val pretty : Format.formatter -> Ptmap.Make.t -> unit
end
end