Module type Parameter_sig.Collection_category

module type Collection_category = sig .. end

Signature for a category over a collection.


type elt 

Element in the category

type t = elt Parameter_category.t 
val none : t

The category '@none'

val default : unit -> t

The '@default' category. By default, it is Parameter_sig.Collection_category.none.

val all : unit -> t

The '@all' category. If this category has not been created, it is Parameter_sig.Collection_category.none, which means 'ignored'.

val set_default : t -> unit

Modify the '@default' category.

val add : string ->
State.t list ->
elt Parameter_category.accessor ->
t

Adds a new category for this collection with the given name, accessor and dependencies.

val enable_all : State.t list ->
elt Parameter_category.accessor ->
t

The category '@all' is enabled in positive occurrences, with the given interpretation. In negative occurrences, it is always enabled and '-@all' means 'empty'.

val enable_all_as : t -> unit

The category '@all' is equivalent to the given category.