module Set.NumStringSet:A set of strings. Comparison of strings takes into account embedded numbers (i.e. "a23" < "a123", "a01" = "a1")Extlib.ExtSet.Set.Swith type elt = String.t
type elt
type t
val empty : Set.S.tval is_empty : Set.S.t -> boolval mem : Set.S.elt -> Set.S.t -> boolmem x s tests whether x belongs to the set s.val add : Set.S.elt -> Set.S.t -> Set.S.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 : Set.S.elt -> Set.S.tsingleton x returns the one-element set containing only x.val remove : Set.S.elt -> Set.S.t -> Set.S.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 : Set.S.t -> Set.S.t -> Set.S.tval inter : Set.S.t -> Set.S.t -> Set.S.tval diff : Set.S.t -> Set.S.t -> Set.S.tval compare : Set.S.t -> Set.S.t -> intval equal : Set.S.t -> Set.S.t -> boolequal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.val subset : Set.S.t -> Set.S.t -> boolsubset s1 s2 tests whether the set s1 is a subset of
the set s2.val iter : (Set.S.elt -> unit) -> Set.S.t -> unititer 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 map : (Set.S.elt -> Set.S.elt) ->
Set.S.t -> Set.S.tmap f x creates a new set with elements f a0,
f a1... f an, where a1, ..., an are the
values contained in xval filter : (Set.S.elt -> bool) ->
Set.S.t -> Set.S.tfilter p s returns the set of all elements in s
that satisfy predicate p.val filter_map : (Set.S.elt -> Set.S.elt option) ->
Set.S.t -> Set.S.tfilter_map f m combines the features of filter and
map. It calls calls f a0, f a1, f an where a0..an
are the elements of m and returns the set of pairs bi
such as f ai = Some bi (when f returns None, the
corresponding element of m is discarded).val fold : (Set.S.elt -> 'a -> 'a) -> Set.S.t -> 'a -> 'afold 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 : (Set.S.elt -> bool) -> Set.S.t -> boolfor_all p s checks if all elements of the set
satisfy the predicate p.val exists : (Set.S.elt -> bool) -> Set.S.t -> boolexists p s checks if at least one element of
the set satisfies the predicate p.val partition : (Set.S.elt -> bool) ->
Set.S.t -> Set.S.t * Set.S.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 : Set.S.t -> intval elements : Set.S.t -> Set.S.elt listOrd.compare, where Ord is the argument
given to Set.Make.val min_elt : Set.S.t -> Set.S.eltOrd.compare ordering).Not_found if the set is empty.val max_elt : Set.S.t -> Set.S.eltSet.S.min_elt, but returns the largest element of the
given set.val choose : Set.S.t -> Set.S.eltNot_found if
the set is empty. Which element is chosen is unspecified,
but equal elements will be chosen for equal sets.val split : Set.S.elt ->
Set.S.t -> Set.S.t * bool * Set.S.tsplit 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 enum : Set.S.t -> Set.S.elt Enum.tOrd.compare, where Ord is the argument
given to Set.Make.val backwards : Set.S.t -> Set.S.elt Enum.tOrd.compare, where Ord is the argument
given to Set.Make.val of_enum : Set.S.elt Enum.t -> Set.S.tval t_of_sexp : (Sexplib.Sexp.t -> Set.S.elt) ->
Sexplib.Sexp.t -> Set.S.tval sexp_of_t : (Set.S.elt -> Sexplib.Sexp.t) ->
Set.S.t -> Sexplib.Sexp.tval print : ?first:string ->
?last:string ->
?sep:string ->
('a Extlib.InnerIO.output -> Set.S.elt -> unit) ->
'a Extlib.InnerIO.output -> Set.S.t -> unitSet with functions
behaving slightly differently but having the same name. This is by design:
the functions meant to override the corresponding functions of Set.
To take advantage of these overrides, you probably want to
or . For instance, to open a version of Set
with exceptionless error management, you may write
open Set,
Exceptionless. To locally replace module Set with a module of
the same name but with exceptionless error management, you may
write module Set = Set include Exceptionless.
module Extlib.ExtSet.Set.S.Exceptionless:sig..end
Set without exceptions.
module Extlib.ExtSet.Set.S.Labels:sig..end
Set with labels.