.TH "Ephemeron.S" 3o 2023-02-12 OCamldoc "OCaml library" .SH NAME Ephemeron.S \- The output signature of the functor Ephemeron.K1.Make and Ephemeron.K2.Make. .SH Module type Module type Ephemeron.S .SH Documentation .sp Module type .BI "S" = .B sig end .sp The output signature of the functor .ft B Ephemeron\&.K1\&.Make .ft R and .ft B Ephemeron\&.K2\&.Make .ft R \&. 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\&. .sp .sp .sp .PP Propose the same interface as usual hash table\&. However since the bindings are weak, even if .ft B mem h k .ft R is true, a subsequent .ft B find h k .ft R may raise .ft B Not_found .ft R because the garbage collector can run between the two\&. .sp Moreover, the table shouldn\&'t be modified during a call to .ft B iter .ft R \&. Use .ft B filter_map_inplace .ft R in this case\&. .PP .I include Hashtbl.S .sp .sp .I val clean : .B 'a t -> unit .sp remove all dead bindings\&. Done automatically during automatic resizing\&. .sp .I val stats_alive : .B 'a t -> Hashtbl.statistics .sp same as .ft B Hashtbl\&.SeededS\&.stats .ft R but only count the alive bindings .sp