1Ephemeron.S(3) OCaml library Ephemeron.S(3)
2
3
4
6 Ephemeron.S - The output signature of the functor Ephemeron.K1.Make and
7 Ephemeron.K2.Make.
8
10 Module type Ephemeron.S
11
13 Module type S
14 = sig end
15
16
17 The output signature of the functor Ephemeron.K1.Make and
18 Ephemeron.K2.Make . These hash tables are weak in the keys. If all the
19 keys of a binding are alive the binding is kept, but if one of the keys
20 of the binding is dead then the binding is removed.
21
22
23
24
25
26
27
28 Propose the same interface as usual hash table. However since the bind‐
29 ings are weak, even if mem h k is true, a subsequent find h k may raise
30 Not_found because the garbage collector can run between the two.
31
32 Moreover, the table shouldn't be modified during a call to iter . Use
33 filter_map_inplace in this case.
34
35 include Hashtbl.S
36
37
38
39
40 val clean : 'a t -> unit
41
42 remove all dead bindings. Done automatically during automatic resizing.
43
44
45
46 val stats_alive : 'a t -> Hashtbl.statistics
47
48 same as Hashtbl.SeededS.stats but only count the alive bindings
49
50
51
52
53
54OCamldoc 2022-02-04 Ephemeron.S(3)