sig
type 'a t
val create : int -> 'a Mweak.t
val length : 'a Mweak.t -> int
val set : 'a Mweak.t -> int -> 'a option -> unit
val get : 'a Mweak.t -> int -> 'a option
val get_copy : 'a Mweak.t -> int -> 'a option
val check : 'a Mweak.t -> int -> bool
val fill : 'a Mweak.t -> int -> int -> 'a option -> unit
val blit : 'a Mweak.t -> int -> 'a Mweak.t -> int -> int -> unit
type 'a weak_t = 'a Mweak.t
module type S =
sig
type data
type t
val create : int -> Mweak.S.t
val clear : Mweak.S.t -> unit
val merge : Mweak.S.t -> Mweak.S.data -> Mweak.S.data
val add : Mweak.S.t -> Mweak.S.data -> unit
val remove : Mweak.S.t -> Mweak.S.data -> unit
val find : Mweak.S.t -> Mweak.S.data -> Mweak.S.data
val find_all : Mweak.S.t -> Mweak.S.data -> Mweak.S.data list
val mem : Mweak.S.t -> Mweak.S.data -> bool
val iter : (Mweak.S.data -> unit) -> Mweak.S.t -> unit
val fold : (Mweak.S.data -> 'a -> 'a) -> Mweak.S.t -> 'a -> 'a
val count : Mweak.S.t -> int
val stats : Mweak.S.t -> int * int * int * int * int * int
end
module type WeakHashable =
sig
type t
val equal : Mweak.WeakHashable.t -> Mweak.WeakHashable.t -> bool
val hash : Mweak.WeakHashable.t -> int
val pretty : Format.formatter -> Mweak.WeakHashable.t -> unit
end
module Make :
functor (H : WeakHashable) ->
sig
type data = H.t
type t
val create : int -> t
val clear : t -> unit
val merge : t -> data -> data
val add : t -> data -> unit
val remove : t -> data -> unit
val find : t -> data -> data
val find_all : t -> data -> data list
val mem : t -> data -> bool
val iter : (data -> unit) -> t -> unit
val fold : (data -> 'a -> 'a) -> t -> 'a -> 'a
val count : t -> int
val stats : t -> int * int * int * int * int * int
end
module MakeBig :
functor (H : WeakHashable) ->
sig
type data = H.t
type t
val create : int -> t
val clear : t -> unit
val merge : t -> data -> data
val add : t -> data -> unit
val remove : t -> data -> unit
val find : t -> data -> data
val find_all : t -> data -> data list
val mem : t -> data -> bool
val iter : (data -> unit) -> t -> unit
val fold : (data -> 'a -> 'a) -> t -> 'a -> 'a
val count : t -> int
val stats : t -> int * int * int * int * int * int
end
end