Module Typed_parameter

module Typed_parameter: sig .. end

Parameter settable through a command line option. This is a low level API, internally used by the kernel. As a plug-in developer, you certainly prefer to use the API of Plugin instead.


type ('a, 'b) gen_accessor = {
   get : unit -> 'a;
   set : 'a -> unit;
   add_set_hook : ('b -> 'b -> unit) -> unit;
   add_update_hook : ('b -> 'b -> unit) -> unit;
}
type 'a accessor = ('a, 'a) gen_accessor 
type typed_accessor = 
| Bool of bool accessor * string option (*

the negative option, if any

*)
| Int of int accessor * (unit -> int * int) (*

getting range

*)
| String of string accessor * (unit -> string list) (*

possible values

*)
type parameter = private {
   name : string; (*

Name of the option corresponding to the parameter. It is exactly the state name of the option (see State.get_name).

*)
   help : string; (*

Help message

*)
   accessor : typed_accessor; (*

How to get and set the value of the parameter

*)
   visible : bool; (*

Is visible to the user, e.g. in the command-line help

*)
   reconfigurable : bool; (*

Can be reconfigured, e.g. in the GUI

*)
   is_set : unit -> bool; (*

Is this option really set?

*)
}
include Datatype.S_with_collections
val get : string -> t

Get the parameter from the option name.

val get_value : t -> string

Get the current value of the parameter, as a string.