Module Cil2cfg.KfCfg


module KfCfg: Kernel_function.Make_Table(Datatype.Make(sig
include Datatype.Undefined
type tt = Cil2cfg.t 
type t = tt * Cil2cfg.node_type list 
val name : string
val reprs : (t * 'a list) list
val equal : t * 'a -> t * 'b -> bool
val hash : t * 'a -> int
val compare : t * 'a -> t * 'b -> int
end))(sig
val name : string
val dependencies : State.t list
val kind : [> `Internal ]
val size : int
end)

include State_builder.S

Hashtbl are a standard computation. BUT that is INCORRECT to use projectified hashtables if keys have a custom rehash function (see Project.DATATYPE_OUTPUT.rehash)
type key 
type data 
val replace : key -> data -> unit
Add a new binding. The previous one is removed.
val add : key -> data -> unit
Add a new binding. The previous one is only hidden.
val clear : unit -> unit
Clear the table.
val length : unit -> int
Length of the table.
val iter : (key -> data -> unit) -> unit
val fold : (key -> data -> 'a -> 'a) ->
'a -> 'a
val memo : ?change:(data -> data) ->
(key -> data) ->
key -> data
Memoization. Compute on need the data associated to a given key using the given function. If the data is already computed, it is possible to change with change.
val find : key -> data
Return the current binding of the given key.
Raises Not_found if the key is not in the table.
val find_all : key -> data list
Return the list of all data associated with the given key.
val mem : key -> bool
val remove : key -> unit