Note:

You are viewing a development version of the library. Goto the latest version.

sig
  type name = string
  exception Not_set of PropList.name * string option
  exception No_printer of PropList.name
  exception Unknown_field of PropList.name * PropList.name
  module Data :
    sig
      type t
      val create : unit -> PropList.Data.t
      val clear : PropList.Data.t -> unit
      val elements : PropList.Data.t -> string list
      val odn_of_t : PropList.Data.t -> ODN.t
    end
  module Schema :
    sig
      type ('a, 'b) value
      type ('a, 'b) t
      val create :
        ?case_insensitive:bool -> PropList.name -> ('a, 'b) PropList.Schema.t
      val mem : ('a, 'b) PropList.Schema.t -> PropList.name -> bool
      val get :
        ('a, 'b) PropList.Schema.t ->
        PropList.Data.t -> PropList.name -> string
      val set :
        ('a, 'b) PropList.Schema.t ->
        PropList.Data.t -> PropList.name -> ?context:'-> string -> unit
      val fold :
        ('-> PropList.name -> '-> (unit -> string) option -> 'a) ->
        '-> ('c, 'b) PropList.Schema.t -> 'a
      val iter :
        (PropList.name -> '-> (unit -> string) option -> unit) ->
        ('b, 'a) PropList.Schema.t -> unit
      val name : ('a, 'b) PropList.Schema.t -> PropList.name
    end
  module Field :
    sig
      type ('a, 'b, 'c) t
      val create :
        ?schema:('a, 'b) PropList.Schema.t ->
        ?name:PropList.name ->
        ?parse:(?context:'-> string -> 'c) ->
        ?print:('-> string) ->
        ?default:'->
        ?update:(?context:'-> '-> '-> 'c) ->
        ?help:(unit -> string) -> '-> ('a, 'c, 'b) PropList.Field.t
      val fset :
        PropList.Data.t ->
        ('a, 'b, 'c) PropList.Field.t -> ?context:'-> '-> unit
      val fget : PropList.Data.t -> ('a, 'b, 'c) PropList.Field.t -> 'b
      val fsets :
        PropList.Data.t ->
        ('a, 'b, 'c) PropList.Field.t -> ?context:'-> string -> unit
      val fgets : PropList.Data.t -> ('a, 'b, 'c) PropList.Field.t -> string
    end
  module FieldRO :
    sig
      val create :
        ?schema:('a, 'b) PropList.Schema.t ->
        ?name:PropList.name ->
        ?parse:(?context:'-> string -> 'c) ->
        ?print:('-> string) ->
        ?default:'->
        ?update:(?context:'-> '-> '-> 'c) ->
        ?help:(unit -> string) -> '-> PropList.Data.t -> 'c
    end
end