NAME¶
Set.S - Output signature of the functor Set.Make.
Module type¶
Module type Set.S
Documentation¶
Module type
S
=
sig end
Output signature of the functor
Set.Make .
type elt
The type of the set elements.
type t
The type of sets.
val empty :
t
The empty set.
val is_empty :
t -> bool
Test whether a set is empty or not.
val mem :
elt -> t -> bool
mem x s tests whether
x belongs to the set
s .
val add :
elt -> t -> t
add x s returns a set containing all elements of
s , plus
x
. If
x was already in
s ,
s is returned unchanged.
val singleton :
elt -> t
singleton x returns the one-element set containing only
x .
val remove :
elt -> t -> t
remove x s returns a set containing all elements of
s , except
x . If
x was not in
s ,
s is returned unchanged.
val union :
t -> t -> t
Set union.
val inter :
t -> t -> t
Set intersection.
val diff :
t -> t -> t
Set difference.
val compare :
t -> t -> int
Total ordering between sets. Can be used as the ordering function for doing sets
of sets.
val equal :
t -> t -> bool
equal s1 s2 tests whether the sets
s1 and
s2 are equal,
that is, contain equal elements.
val subset :
t -> t -> bool
subset s1 s2 tests whether the set
s1 is a subset of the set
s2 .
val iter :
(elt -> unit) -> t -> unit
iter f s applies
f in turn to all elements of
s . The
elements of
s are presented to
f in increasing order with
respect to the ordering over the type of the elements.
val fold :
(elt -> 'a -> 'a) -> t -> 'a -> 'a
fold f s a computes
(f xN ... (f x2 (f x1 a))...) , where
x1
... xN are the elements of
s , in increasing order.
val for_all :
(elt -> bool) -> t -> bool
for_all p s checks if all elements of the set satisfy the predicate
p .
val exists :
(elt -> bool) -> t -> bool
exists p s checks if at least one element of the set satisfies the
predicate
p .
val filter :
(elt -> bool) -> t -> t
filter p s returns the set of all elements in
s that satisfy
predicate
p .
val partition :
(elt -> bool) -> t -> t * t
partition p s returns a pair of sets
(s1, s2) , where
s1 is
the set of all the elements of
s that satisfy the predicate
p ,
and
s2 is the set of all the elements of
s that do not satisfy
p .
val cardinal :
t -> int
Return the number of elements of a set.
val elements :
t -> elt list
Return the list of all elements of the given set. The returned list is sorted in
increasing order with respect to the ordering
Ord.compare , where
Ord is the argument given to
Set.Make .
val min_elt :
t -> elt
Return the smallest element of the given set (with respect to the
Ord.compare ordering), or raise
Not_found if the set is empty.
val max_elt :
t -> elt
Same as
Set.S.min_elt , but returns the largest element of the given set.
val choose :
t -> elt
Return one element of the given set, or raise
Not_found if the set is
empty. Which element is chosen is unspecified, but equal elements will be
chosen for equal sets.
val split :
elt -> t -> t * bool * t
split x s returns a triple
(l, present, r) , where
l is the
set of elements of
s that are strictly less than
x ;
r is
the set of elements of
s that are strictly greater than
x ;
present is
false if
s contains no element equal to
x , or
true if
s contains an element equal to
x .
val find :
elt -> t -> elt
find x s returns the element of
s equal to
x (according to
Ord.compare ), or raise
Not_found if no such element exists.
Since 4.01.0