module Parameter_category:sig..end
Category for parameter collections. A category groups together a set of possible values of a given type for some parameters. It may be created once and used several times.
type 'a t
\tau t is the type of a category for the type \tau.
type 'a accessor = <
|
fold : |
|
mem : |
Type explaining how to manipulate the elements of the category.
val create : string ->
'a Type.t ->
register:bool ->
State.t list -> 'a accessor -> 'a tcreate name ty ~register states access creates a category of the given
name for the given type. No category with such a name for the same type must
be already registered. If register, save the category for further re-use.
states is a list of states which the category is based upon. access is
how to manipulate this category.
val copy_and_rename : string -> register:bool -> 'a t -> 'a tcopy_and_rename s ~register c renames the category c into s and
returns the new built category which is registered according to
register.
val use : State.t -> 'a t -> unituse s c indicates that the state s depends on the category c.
val get_name : 'a t -> stringName of the category.
val get_fold : 'a t -> ('a -> 'acc -> 'acc) -> 'acc -> 'accFold over the elements of the given category.
val get_mem : 'a t -> 'a -> boolIs the given element present in the category?