Emitter.Make_tableTable indexing: key -> emitter (or equivalent data) -> value. Quick access + handle cleaning in the right way (only remove relevant bindings when required.
module H : Datatype.Hashtblmodule E : sig ... endmodule D : Datatype.Smodule Info : sig ... endtype internal_tbl = D.t E.Hashtbl.tval self : State.tval add : H.key -> internal_tbl -> unitval find : H.key -> internal_tblval mem : H.key -> boolval iter : ( H.key -> internal_tbl -> unit ) -> unitval fold : ( H.key -> internal_tbl -> 'a -> 'a ) -> 'a -> 'aval to_seq : unit -> (H.key * internal_tbl) Stdlib.Seq.tval iter_sorted :
cmp:( H.key -> H.key -> int ) ->
( H.key -> internal_tbl -> unit ) ->
unitval fold_sorted :
cmp:( H.key -> H.key -> int ) ->
( H.key -> internal_tbl -> 'a -> 'a ) ->
'a ->
'aval remove : H.key -> unitRegister a hook to be applied whenever a binding is removed from the table.