Frama-C API - String_map
Parameters
module V : Parameter_sig.Value_datatype with type key = string
module _ : sig ... end
Signature
type value = V.t
Type of the values associated to the keys.
A map is a collection in which elements are pairs (key, value)
, but some values may be missing.
include Parameter_sig.Collection with type elt = key * value option with type t = V.t Datatype.String.Map.t
A collection is a standard command line parameter.
include Parameter_sig.S with type t = V.t Datatype.String.Map.t
include Parameter_sig.S_no_parameter with type t = V.t Datatype.String.Map.t
type t = V.t Datatype.String.Map.t
Type of the parameter (an int, a string, etc). It is concrete for each module implementing this signature.
val set : t -> unit
Set the option.
Add a hook to be called after the function set
is called. The first parameter of the hook is the old value of the parameter while the second one is the new value.
Add a hook to be called when the value of the parameter changes (by calling set
or indirectly by the project library. The first parameter of the hook is the old value of the parameter while the second one is the new value. Note that it is **not** specified if the hook is applied just before or just after the effective change.
val get : unit -> t
Option value (not necessarily set on the current command line).
Set the option to its default value, that is the value if set
was never called.
val get_default : unit -> t
Get the default value for the option.
Print the help of the parameter in the given formatter as it would be printed on the command line by -<plugin>-help. For invisible parameters, the string corresponds to the one returned if it would be not invisible.
include State_builder.S
val self : State.t
The kind of the registered state.
val mark_as_computed : ?project:Project.t -> unit -> unit
Indicate that the registered state will not change again for the given project (default is current ()
).
val is_computed : ?project:Project.t -> unit -> bool
Returns true
iff the registered state will not change again for the given project (default is current ()
).
Exportation of some inputs (easier use of State_builder.Register
).
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
Add an hook which is applied each time (just before) the project library changes the local value of the state.
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
howto_marshal marshal unmarshal
registers a custom couple of functions (marshal, unmarshal)
to be used for serialization. Default functions are identities. In particular, this function must be used if Datatype.t
is not marshallable and do_not_save
is not called.
Add some aliases for this option. That is other option names which have exactly the same semantics that the initial option. If visible
is set to false, the aliases do not appear in help messages. If deprecated
is set to true, the use of the aliases emits a warning.
val parameter : Typed_parameter.t
val iter : (elt -> unit) -> unit
Iterate over all the elements of the collection.
val fold : (elt -> 'a -> 'a) -> 'a -> 'a
Fold over all the elements of the collection.
val add : elt -> unit
Add an element to the collection
module As_string : Parameter_sig.String
A collection is a standard string parameter
module Category : Parameter_sig.Collection_category with type elt = elt
Categories for this collection.
Additional accessors to the map.
val mem : key -> bool