Ephemeron.S(3o) | OCamldoc | Ephemeron.S(3o) |
Ephemeron.S - The output signature of the functor Ephemeron.K1.Make and Ephemeron.K2.Make.
Module type Ephemeron.S
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
source: | 2019-01-25 |