module type SELECTION = sig
.. end
Signature of a selection of kinds.
type
kind
Type of a kind.
type
t
Type of a selection of kinds.
val ty : t Type.t
Type value of a selection.
val empty : t
The empty selection.
val is_empty : t -> bool
Whether the selection is empty.
Since Beryllium-20090601-beta1
val add : kind -> Kind.how -> t -> t
add k h s
adds k
to s
. h
is used to specify how to deal with
the dependencies of k
.
val singleton : kind -> Kind.how -> t
val remove : kind -> t -> t
remove k s
removes k
of s
. Each dependency d
of k
is also
removed if d
was not added using add
(but only selected when k
was added).
val iter : (kind -> Kind.how -> unit) -> t -> unit
val fold : (kind -> Kind.how -> 'a -> 'a) -> t -> 'a -> 'a