Kn.MakeFunctor building an implementation of a weak hash table
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.
module H : Hashtbl.HashedTypetype key = H.t arrayval create : int -> 'a tval clear : 'a t -> unitval reset : 'a t -> unitval length : 'a t -> intval stats : 'a t -> Hashtbl.statisticsval clean : 'a t -> unitremove all dead bindings. Done automatically during automatic resizing.
val stats_alive : 'a t -> Hashtbl.statisticssame as Hashtbl.SeededS.stats but only count the alive bindings