Frama-C:
Plug-ins:
Libraries:

Frama-C API - Value

A set is a collection.

include Frama_c_kernel.Parameter_sig.Collection with type elt = string with type t = Frama_c_kernel.Datatype.String.Set.t

A collection is a standard command line parameter.

include Frama_c_kernel.Parameter_sig.S with type t = Frama_c_kernel.Datatype.String.Set.t
include Frama_c_kernel.Parameter_sig.S_no_parameter with type t = Frama_c_kernel.Datatype.String.Set.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.

val add_set_hook : (t -> t -> unit) -> unit

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.

val add_update_hook : (t -> t -> unit) -> unit

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.

  • since Nitrogen-20111001
val get : unit -> t

Option value (not necessarily set on the current command line).

val clear : unit -> unit

Set the option to its default value, that is the value if set was never called.

val is_default : unit -> bool

Is the option equal to its default value?

val get_default : unit -> t

Get the default value for the option.

  • since 24.0-Chromium
val option_name : string

Name of the option on the command-line

  • since Carbon-20110201
val print_help : Stdlib.Format.formatter -> unit

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.

  • since Oxygen-20120901
include Frama_c_kernel.State_builder.S

The kind of the registered state.

val name : string
val mark_as_computed : ?project:Frama_c_kernel.Project.t -> unit -> unit

Indicate that the registered state will not change again for the given project (default is current ()).

val is_computed : ?project:Frama_c_kernel.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).

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.

  • since Nitrogen-20111001
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.

  • since Boron-20100401
val equal : t -> t -> bool
val add_aliases : ?visible:bool -> ?deprecated:bool -> string list -> unit

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.

  • raises Invalid_argument

    if one of the strings is empty

  • before 22.0-Titanium

    no visible and deprecated arguments.

  • since Nitrogen-20111001
type elt = string

Element in the collection.

val is_empty : unit -> bool

Is the collection empty?

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

A collection is a standard string parameter

Categories for this collection.

Additional accessors to the set.

val mem : elt -> bool

Does the given element belong to the set?

val exists : (elt -> bool) -> bool

Is there some element satisfying the given predicate?