module Make_table:functor (H:Datatype.Hashtbl) ->functor (E:siginclude Datatype.S_with_collectionsval local_clear :H.key -> 'a Hashtbl.t -> unitval usable_get :t -> Emitter.Usable_emitter.tval get :t -> Emitter.emitterend) ->functor (D:Datatype.S) ->functor (Info:siginclude State_builder.Info_with_sizeval kinds :Emitter.kind listend) ->sig..end
Table indexing: key -> emitter (or equivalent data) -> value. Quick access + handle cleaning in the right way (only remove relevant bindings when required.
| Parameters: |
|
typeinternal_tbl =D.t E.Hashtbl.t
val self : State.t
val add : H.key -> internal_tbl -> unit
val find : H.key -> internal_tbl
val mem : H.key -> bool
val iter : (H.key -> internal_tbl -> unit) -> unit
val fold : (H.key -> internal_tbl -> 'a -> 'a) -> 'a -> 'a
val iter_sorted : cmp:(H.key -> H.key -> int) ->
(H.key -> internal_tbl -> unit) -> unit
val fold_sorted : cmp:(H.key -> H.key -> int) ->
(H.key -> internal_tbl -> 'a -> 'a) -> 'a -> 'a
val remove : H.key -> unit
val add_hook_on_remove : (E.t -> H.key -> D.t -> unit) -> unitRegister a hook to be applied whenever a binding is removed from the table.
val apply_hooks_on_remove : E.t -> H.key -> D.t -> unitThis function must be called on each binding which is removed from the
table without directly calling the function remove.