sig
type 'a t
val create : int -> 'a Weak.t
val length : 'a Weak.t -> int
val set : 'a Weak.t -> int -> 'a option -> unit
val get : 'a Weak.t -> int -> 'a option
val get_copy : 'a Weak.t -> int -> 'a option
val check : 'a Weak.t -> int -> bool
val fill : 'a Weak.t -> int -> int -> 'a option -> unit
val blit : 'a Weak.t -> int -> 'a Weak.t -> int -> int -> unit
module type S =
sig
type data
and t
val create : int -> Weak.S.t
val clear : Weak.S.t -> unit
val merge : Weak.S.t -> Weak.S.data -> Weak.S.data
val add : Weak.S.t -> Weak.S.data -> unit
val remove : Weak.S.t -> Weak.S.data -> unit
val find : Weak.S.t -> Weak.S.data -> Weak.S.data
val find_all : Weak.S.t -> Weak.S.data -> Weak.S.data list
val mem : Weak.S.t -> Weak.S.data -> bool
val iter : (Weak.S.data -> unit) -> Weak.S.t -> unit
val fold : (Weak.S.data -> 'a -> 'a) -> Weak.S.t -> 'a -> 'a
val count : Weak.S.t -> int
val stats : Weak.S.t -> int * int * int * int * int * int
end
module Make :
functor (H : Hashtbl.HashedType) ->
sig
type data = H.t
and t
val create : int -> Weak.S.t
val clear : Weak.S.t -> unit
val merge : Weak.S.t -> Weak.S.data -> Weak.S.data
val add : Weak.S.t -> Weak.S.data -> unit
val remove : Weak.S.t -> Weak.S.data -> unit
val find : Weak.S.t -> Weak.S.data -> Weak.S.data
val find_all : Weak.S.t -> Weak.S.data -> Weak.S.data list
val mem : Weak.S.t -> Weak.S.data -> bool
val iter : (Weak.S.data -> unit) -> Weak.S.t -> unit
val fold : (Weak.S.data -> 'a -> 'a) -> Weak.S.t -> 'a -> 'a
val count : Weak.S.t -> int
val stats : Weak.S.t -> int * int * int * int * int * int
end
end