Provided by: ocaml-man_4.14.1-1ubuntu1_all bug

NAME

       Ephemeron.K2.Make - Functor building an implementation of a weak hash table

Module

       Module   Ephemeron.K2.Make

Documentation

       Module Make
        : functor (H1 : Hashtbl.HashedType) (H2 : Hashtbl.HashedType) -> sig end

       Functor building an implementation of a weak hash table

       Parameters:

       "H1"

       Stdlib.Hashtbl.HashedType

       "H2"

       Stdlib.Hashtbl.HashedType

       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.

       Moreover,  the table shouldn't be modified during a call to iter .  Use filter_map_inplace
       in this case.

       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 iter : (key -> 'a -> unit) -> 'a t -> unit

       val filter_map_inplace : (key -> 'a -> 'a option) -> 'a t -> unit

       val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b

       val length : 'a t -> int

       val stats : 'a t -> Hashtbl.statistics

       val to_seq : 'a t -> (key * 'a) Seq.t

       val to_seq_keys : 'a t -> key Seq.t

       val to_seq_values : 'a t -> 'a Seq.t

       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