sig
module type WeakHashable =
sig
type t
val equal : Buckx.WeakHashable.t -> Buckx.WeakHashable.t -> bool
val hash : Buckx.WeakHashable.t -> int
val pretty : Format.formatter -> Buckx.WeakHashable.t -> unit
val id : string
end
module type S =
sig
type data
type t
val create : int -> Buckx.S.t
val merge : Buckx.S.t -> Buckx.S.data -> Buckx.S.data
val iter : Buckx.S.t -> (Buckx.S.data -> unit) -> unit
val clear : Buckx.S.t -> unit
val release : Buckx.S.t -> unit
val shallow_copy : Buckx.S.t -> Buckx.S.t
val addr : Buckx.S.t -> int
val overwrite : old:Buckx.S.t -> fresh:Buckx.S.t -> unit
val pretty_debug : Format.formatter -> Buckx.S.t -> int -> unit
end
module MakeBig :
functor (H : WeakHashable) ->
sig
type data = H.t
type t
val create : int -> t
val merge : t -> data -> data
val iter : t -> (data -> unit) -> unit
val clear : t -> unit
val release : t -> unit
val shallow_copy : t -> t
val addr : t -> int
val overwrite : old:t -> fresh:t -> unit
val pretty_debug : Format.formatter -> t -> int -> unit
end
end