Ephemeron.S (3)
NAME
Ephemeron.S - The output signature of the functor Ephemeron.K1.Make and Ephemeron.K2.Make.Module type
Module type Ephemeron.SDocumentation
Module type
S
=
sig end
The output signature of the functor
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.
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
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