module Sette:Sets over ordered types.sig..end
Modified by B. Jeannet to get a generic type and a few additions
(like conversions form and to maps and pretty-printing).
type 'a t
type 'a tzz =
| |
Emptyzz |
| |
Nodezz of |
val repr : 'a t -> 'a tzzval obj : 'a tzz -> 'a tval splitzz : 'a -> 'a tzz -> 'a tzz * bool * 'a tzzval empty : 'a tval is_empty : 'a t -> boolval mem : 'a -> 'a t -> boolmem x s tests whether x belongs to the set s.val add : 'a -> 'a t -> 'a tadd x s returns a set containing all elements of s,
plus x. If x was already in s, s is returned unchanged.val singleton : 'a -> 'a tsingleton x returns the one-element set containing only x.val remove : 'a -> 'a t -> 'a tremove x s returns a set containing all elements of s, except
x. If x was not in s, s is returned unchanged.val union : 'a t -> 'a t -> 'a tval inter : 'a t -> 'a t -> 'a tval diff : 'a t -> 'a t -> 'a tval compare : 'a t -> 'a t -> intval equal : 'a t -> 'a t -> boolequal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.val subset : 'a t -> 'a t -> boolsubset s1 s2 tests whether the set s1 is a subset of
the set s2.val iter : ('a -> unit) -> 'a t -> unititer f s applies f in turn to all elements of s.
The order in which the elements of s are presented to f
is unspecified.val fold : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'bfold f s a computes (f xN ... (f x2 (f x1 a))...),
where x1 ... xN are the elements of s.
The order in which elements of s are presented to f is
unspecified.Not_found if no fountval for_all : ('a -> bool) -> 'a t -> boolfor_all p s checks if all elements of the set
satisfy the predicate p.val exists : ('a -> bool) -> 'a t -> boolexists p s checks if at least one element of
the set satisfies the predicate p.val filter : ('a -> bool) -> 'a t -> 'a tfilter p s returns the set of all elements in s
that satisfy predicate p.val partition : ('a -> bool) -> 'a t -> 'a t * 'a tpartition 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 : 'a t -> intval elements : 'a t -> 'a listPervasives.compare.val min_elt : 'a t -> 'aOrd.compare ordering), or raise Not_found if the set is empty.val max_elt : 'a t -> 'amin_elt, but returns the largest element of the given
set.val choose : 'a t -> 'aNot_found if the set
is empty. Which element is chosen is unspecified, but equal elements
will be chosen for equal sets.val print : ?first:(unit, Format.formatter, unit) Pervasives.format ->
?sep:(unit, Format.formatter, unit) Pervasives.format ->
?last:(unit, Format.formatter, unit) Pervasives.format ->
(Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unitmodule type S =sig..end
Sette.Make.
module Make: