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
29 bindings are weak, even if mem h k is true, a subsequent find h k may
30 raise Not_found because the garbage collector can run between the two.
31 Moreover, the table shouldn't be modified during a call to iter. Use
32 filter_map_inplace in this case. ===
33
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 2018-07-14 Ephemeron.S(3)