Provided by: ocaml-man_5.3.0-2_all bug

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                                           2025-01-27                                    Ephemeron.S(3o)