module type S =sig
..end
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.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.
include Hashtbl.S
val clean : 'a t -> unit
val stats_alive : 'a t -> Hashtbl.statistics
Hashtbl.SeededS.stats
but only count the alive bindings