Module type S
= sigend
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 memhk is
true, a subsequent findhk may raise Not_found because the garbage collector can run between the two.
typekeytype!'atvalcreate : int->'atvalclear : 'at->unitvalreset : 'at->unitvalcopy : 'at->'atvaladd : 'at->key->'a->unitvalremove : 'at->key->unitvalfind : 'at->key->'avalfind_opt : 'at->key->'aoptionvalfind_all : 'at->key->'alistvalreplace : 'at->key->'a->unitvalmem : 'at->key->boolvallength : 'at->intvalstats : 'at->Hashtbl.statisticsvaladd_seq : 'at->(key*'a)Seq.t->unitvalreplace_seq : 'at->(key*'a)Seq.t->unitvalof_seq : (key*'a)Seq.t->'atvalclean : 'at->unit
remove all dead bindings. Done automatically during automatic resizing.
valstats_alive : 'at->Hashtbl.statistics
same as Hashtbl.SeededS.stats but only count the alive bindings
OCamldoc 2025-06-12 Ephemeron.S(3o)