Frama-C:
Plug-ins:
Libraries:

Frama-C API - Make_table

Table indexing: key -> emitter (or equivalent data) -> value. Quick access + handle cleaning in the right way (only remove relevant bindings when required.

  • since Oxygen-20120901

Parameters

module E : sig ... end
module D : Datatype.S
module _ : sig ... end

Signature

type internal_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 to_seq : unit -> (H.key * internal_tbl) Stdlib.Seq.t
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) -> unit

Register a hook to be applied whenever a binding is removed from the table.

  • since Fluorine-20130401
val apply_hooks_on_remove : E.t -> H.key -> D.t -> unit

This function must be called on each binding which is removed from the table without directly calling the function remove.

  • since Fluorine-20130401