sig type ('k, 'd) t val make : 'k -> 'd -> ('k, 'd) Ephemeron.K1.t val query : ('k, 'd) Ephemeron.K1.t -> 'k -> 'd option module Make : functor (H : Hashtbl.HashedType) -> sig type key = H.t type !'a t val create : int -> 'a t val clear : 'a t -> unit val reset : 'a t -> unit val copy : 'a t -> 'a t val add : 'a t -> key -> 'a -> unit val remove : 'a t -> key -> unit val find : 'a t -> key -> 'a val find_opt : 'a t -> key -> 'a option val find_all : 'a t -> key -> 'a list val replace : 'a t -> key -> 'a -> unit val mem : 'a t -> key -> bool val length : 'a t -> int val stats : 'a t -> Hashtbl.statistics val add_seq : 'a t -> (key * 'a) Seq.t -> unit val replace_seq : 'a t -> (key * 'a) Seq.t -> unit val of_seq : (key * 'a) Seq.t -> 'a t val clean : 'a t -> unit val stats_alive : 'a t -> Hashtbl.statistics end module MakeSeeded : functor (H : Hashtbl.SeededHashedType) -> sig type key = H.t type !'a t val create : ?random:bool -> int -> 'a t val clear : 'a t -> unit val reset : 'a t -> unit val copy : 'a t -> 'a t val add : 'a t -> key -> 'a -> unit val remove : 'a t -> key -> unit val find : 'a t -> key -> 'a val find_opt : 'a t -> key -> 'a option val find_all : 'a t -> key -> 'a list val replace : 'a t -> key -> 'a -> unit val mem : 'a t -> key -> bool val length : 'a t -> int val stats : 'a t -> Hashtbl.statistics val add_seq : 'a t -> (key * 'a) Seq.t -> unit val replace_seq : 'a t -> (key * 'a) Seq.t -> unit val of_seq : (key * 'a) Seq.t -> 'a t val clean : 'a t -> unit val stats_alive : 'a t -> Hashtbl.statistics end module Bucket : sig type ('k, 'd) t val make : unit -> ('k, 'd) Ephemeron.K1.Bucket.t val add : ('k, 'd) Ephemeron.K1.Bucket.t -> 'k -> 'd -> unit val remove : ('k, 'd) Ephemeron.K1.Bucket.t -> 'k -> unit val find : ('k, 'd) Ephemeron.K1.Bucket.t -> 'k -> 'd option val length : ('k, 'd) Ephemeron.K1.Bucket.t -> int val clear : ('k, 'd) Ephemeron.K1.Bucket.t -> unit end end