Module Femtolib.Config_file


module Config_file: sig .. end
External library (part of the Cameleon project) to read and write configuration file, included here to simplify distribution.

val (|>) : 'a -> ('a -> 'b) -> 'b
val list_assoc_remove : 'a -> ('b -> 'b option) -> ('a * 'b) list -> ('a * 'b) list
val queue_iter_between : ('a -> 'b) -> (unit -> unit) -> 'a Queue.t -> unit
val list_iter_between : ('a -> unit) -> (unit -> unit) -> 'a list -> unit
exception Unsafe_string
val safe_string : string -> string
module Raw: sig .. end
val print_help : Format.formatter -> string -> unit

type 'a wrappers = {
   to_raw : 'a -> Raw.cp;
   of_raw : Raw.cp -> 'a;
}
class type ['a] cp = object .. end
type groupable_cp = < get_default_formatted : Format.formatter -> unit;
get_formatted : Format.formatter -> unit; get_help : string;
get_help_formatted : Format.formatter -> unit; get_name : string list;
get_short_name : string option; get_spec : Arg.spec; reset : unit;
set_raw : Raw.cp -> unit >
exception Double_name
exception Missing_cp of groupable_cp
exception Wrong_type of (Pervasives.out_channel -> unit)
exception Found
exception Found_cp of groupable_cp

type 'a nametree =
| Immediate of 'a
| Subsection of (string * 'a nametree) Queue.t
class group : object .. end
class ['a] cp_custom_type : 'a wrappers -> ?group:group -> string list -> ?short_name:string -> 'a -> string -> object .. end
val int_wrappers : int wrappers
class int_cp : ?group:group -> string list -> ?short_name:string -> int -> string -> object .. end
val float_wrappers : float wrappers
class float_cp : ?group:group -> string list -> ?short_name:string -> float -> string -> object .. end
val bool_of_string : string -> bool
val bool_wrappers : bool wrappers
class bool_cp : ?group:group -> string list -> ?short_name:string -> bool -> string -> object .. end
val string_wrappers : string wrappers
class string_cp : ?group:group -> string list -> ?short_name:string -> string -> string -> object .. end
val list_wrappers : 'a wrappers -> 'a list wrappers
class ['a] list_cp : 'a wrappers -> ?group:group -> string list -> ?short_name:string -> 'a list -> string -> class application not handled yet
val option_wrappers : 'a wrappers -> 'a option wrappers
class ['a] option_cp : 'a wrappers -> ?group:group -> string list -> ?short_name:string -> 'a option -> string -> class application not handled yet
val enumeration_wrappers : (string * 'a) list -> 'a wrappers
class ['a] enumeration_cp : (string * 'a) list -> ?group:group -> string list -> ?short_name:string -> 'a -> string -> object .. end
val tuple2_wrappers : 'a wrappers ->
'b wrappers -> ('a * 'b) wrappers
class [['a, 'b]] tuple2_cp : 'a wrappers -> 'b wrappers -> ?group:group -> string list -> ?short_name:string -> 'a * 'b -> string -> class application not handled yet
val tuple3_wrappers : 'a wrappers ->
'b wrappers ->
'c wrappers ->
('a * 'b * 'c) wrappers
class [['a, 'b, 'c]] tuple3_cp : 'a wrappers -> 'b wrappers -> 'c wrappers -> ?group:group -> string list -> ?short_name:string -> 'a * 'b * 'c -> string -> class application not handled yet
val tuple4_wrappers : 'a wrappers ->
'b wrappers ->
'c wrappers ->
'd wrappers ->
('a * 'b * 'c * 'd) wrappers
class [['a, 'b, 'c, 'd]] tuple4_cp : 'a wrappers -> 'b wrappers -> 'c wrappers -> 'd wrappers -> ?group:group -> string list -> ?short_name:string -> 'a * 'b * 'c * 'd -> string -> class application not handled yet
class string2_cp : ?group:group -> string list -> ?short_name:string -> string * string -> string -> class application not handled yet
class color_cp : ?group:group -> string list -> ?short_name:string -> string -> string -> string_cp
class font_cp : ?group:group -> string list -> ?short_name:string -> string -> string -> string_cp
class filename_cp : ?group:group -> string list -> ?short_name:string -> string -> string -> string_cp
type 'a option_class = 'a wrappers 
type 'a option_record = 'a cp 

type options_file = {
   mutable filename : string;
   group : group;
}
val create_options_file : string -> options_file
val set_options_file : options_file -> string -> unit
val load : options_file -> unit
val append : options_file -> string -> unit
val save : options_file -> unit
val save_with_help : options_file -> unit
val define_option : options_file ->
string list ->
string ->
'a wrappers ->
'a -> 'a cp_custom_type
val option_hook : < add_hook : ('a -> 'b -> 'c) -> 'd; .. > -> (unit -> 'c) -> 'd
val string_option : string wrappers
val color_option : string wrappers
val font_option : string wrappers
val int_option : int wrappers
val bool_option : bool wrappers
val float_option : float wrappers
val string2_option : (string * string) wrappers
val option_option : 'a wrappers -> 'a option wrappers
val list_option : 'a wrappers -> 'a list wrappers
val sum_option : (string * 'a) list -> 'a wrappers
val tuple2_option : 'a wrappers * 'b wrappers ->
('a * 'b) wrappers
val tuple3_option : 'a wrappers * 'b wrappers *
'c wrappers ->
('a * 'b * 'c) wrappers
val tuple4_option : 'a wrappers * 'b wrappers *
'c wrappers * 'd wrappers ->
('a * 'b * 'c * 'd) wrappers
val (!!) : < get : 'a; .. > -> 'a
val (=:=) : < set : 'a -> 'b; .. > -> 'a -> 'b
val shortname : < get_name : string list; .. > -> string
val get_help : < get_help : 'a; .. > -> 'a

type option_value =
| Module of option_module
| StringValue of string
| IntValue of int
| FloatValue of float
| List of option_value list
| SmallList of option_value list
type option_module = (string * option_value) list 
val value_to_raw : option_value -> Raw.cp
val raw_to_value : Raw.cp -> option_value
val define_option_class : 'a ->
(option_value -> 'b) ->
('b -> option_value) -> 'b wrappers
val to_value : 'a wrappers -> 'a -> option_value
val from_value : 'a wrappers -> option_value -> 'a
val of_value_w : 'a wrappers -> option_value -> 'a
val to_value_w : 'a wrappers -> 'a -> option_value
val value_to_string : option_value -> string
val string_to_value : string -> option_value
val value_to_int : option_value -> int
val int_to_value : int -> option_value
val value_to_bool : option_value -> bool
val bool_to_value : bool -> option_value
val value_to_float : option_value -> float
val float_to_value : float -> option_value
val value_to_string2 : option_value -> string * string
val string2_to_value : string * string -> option_value
val value_to_list : (option_value -> 'a) ->
option_value -> 'a list
val list_to_value : ('a -> option_value) ->
'a list -> option_value