module Builtin_functions:State_builder.Hashtbl
with type key = string and type data = typ * typ list * bool
A list of the built-in functions for the current compiler (GCC or
MSVC, depending on !msvcMode
). Maps the name to the
result and argument types, and whether it is vararg.
Initialized by Cil.initCIL
This map replaces gccBuiltins
and msvcBuiltins
in previous
versions of CIL.
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 iter_sorted : ?cmp:(key -> key -> int) ->
(key -> data -> unit) -> unit
val fold : (key -> data -> 'a -> 'a) ->
'a -> 'a
val fold_sorted : ?cmp:(key -> key -> int) ->
(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.
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