Ephemeron.S(3) OCaml library Ephemeron.S(3) NAME Ephemeron.S - The output signature of the functors Ephemeron.K1.Make and Ephemeron.K2.Make. Module type Module type Ephemeron.S Documentation Module type S = sig end The output signature of the functors Ephemeron.K1.Make and Ephemeron.K2.Make . These hash tables are weak in the keys. If all the keys of a binding are alive the binding is kept, but if one of the keys of the binding is dead then the binding is removed. Propose the same interface as usual hash table. However since the bindings are weak, even if mem h k is true, a subsequent find h k may raise Not_found because the garbage collector can run between the two. type key 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 remove all dead bindings. Done automatically during automatic resizing. val stats_alive : 'a t -> Hashtbl.statistics same as Hashtbl.SeededS.stats but only count the alive bindings OCamldoc 2024-02-29 Ephemeron.S(3)