module StringSet:BatSet.Make(String)
type elt
type t
val empty : tval is_empty : t -> boolval singleton : elt -> tsingleton x returns the one-element set containing only x.val mem : elt -> t -> boolmem x s tests whether x belongs to the set s.val find : elt -> t -> eltfind x s returns the element in s that tests equal to x under its comparison function.Not_found if no element is equalval add : elt -> t -> tadd x s returns a set containing all elements of s,
plus x. If x was already in s, s is returned unchanged.val remove : elt -> t -> tremove x s returns a set containing all elements of s,
except x. If x was not in s, s is returned unchanged.val update : elt -> elt -> t -> tupdate x y s replace x by y in s.
update is faster when x compares equal to y according
to the comparison function used by your set.Not_found if x is not in s.val union : t -> t -> tval inter : t -> t -> tval diff : t -> t -> tval sym_diff : t -> t -> tsym_diff s t returns the set of all elements in s or t
but not both. This is the same as diff (union s t) (inter s
t).val compare : t -> t -> intval equal : t -> t -> boolequal s1 s2 tests whether the sets s1 and s2 are
equal, that is, contain equal elements.val subset : t -> t -> boolsubset s1 s2 tests whether the set s1 is a subset of
the set s2.val disjoint : t -> t -> booldisjoint s1 s2 tests whether the sets s1 and s2 contain no shared
elements. (i.e. inter s1 s2 is empty.)val compare_subset : t -> t -> intsubsetval iter : (elt -> unit) -> 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 at_rank_exn : int -> t -> eltat_rank_exn i s returns element at rank i in s, that is
the i-th element in increasing order
(the 0-th element being the smallest element of s).Not_found if s = empty.Invalid_argument error_message if i < 0 || i >= cardinal sval map : (elt -> elt) -> t -> tmap f x creates a new set with elements f a0,
f a1... f aN, where a0,a1..aN are the
values contained in xval filter : (elt -> bool) -> t -> tfilter p s returns the set of all elements in s
that satisfy predicate p.val filter_map : (elt -> elt option) -> t -> tfilter_map f m combines the features of filter and
map. It calls calls f a0, f a1, f aN where a0,a1..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 : (elt -> 'a -> 'a) -> t -> 'a -> 'afold f s a computes (f xN ... (f x1 (f x0 a))...),
where x0,x1..xN are the elements of s, in increasing order.val for_all : (elt -> bool) -> t -> boolfor_all p s checks if all elements of the set
satisfy the predicate p.val exists : (elt -> bool) -> t -> boolexists p s checks if at least one element of
the set satisfies the predicate p.val partition : (elt -> bool) -> t -> t * 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 split : elt -> t -> t * bool * 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 split_opt : elt -> t -> t * elt option * tsplit_opt x s returns a triple (l, maybe_v, 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;
maybe_v is None if s contains no element equal to x,
or Some v if s contains an element v that compares equal to x.val split_lt : elt -> t -> t * tsplit_lt x s returns a pair of sets (l, r), such that
l is the subset of s with elements < x;
r is the subset of s with elements >= x.val split_le : elt -> t -> t * tsplit_le x s returns a pair of sets (l, r), such that
l is the subset of s with elements <= x;
r is the subset of s with elements > x.val cardinal : t -> intval elements : t -> elt listOrd.compare, where Ord is the argument
given to Set.Make.val to_list : t -> elt listelements.val to_array : t -> elt arrayto_list but with an array instead of a list.val min_elt : t -> eltOrd.compare ordering).Not_found if the set is empty.val pop_min : t -> elt * t
let mini = min_elt s in (mini, remove mini s)
Since 2.4
Raises Not_found if the set is empty.
val pop_max : t -> elt * t
let maxi = max_elt s in (maxi, remove maxi s)
Since 2.4
Raises Not_found if the set is empty.
val max_elt : t -> eltSet.S.min_elt, but returns the largest element of the
given set.val choose : t -> eltNot_found if
the set is empty. Which element is chosen is unspecified,
but equal elements will be chosen for equal sets.val pop : t -> elt * tNot_found if given an empty setval enum : t -> elt BatEnum.tOrd.compare, where Ord is the argument
given to Set.Make.val backwards : t -> elt BatEnum.tOrd.compare, where Ord is the argument
given to Set.Make.val of_enum : elt BatEnum.t -> t
val of_list : elt list -> tval of_array : elt array -> tval print : ?first:string ->
?last:string ->
?sep:string ->
('a BatInnerIO.output -> elt -> unit) ->
'a BatInnerIO.output -> t -> unitmodule Infix:sig..end
Set with functions
behaving slightly differently but having the same name. This is by design:
the functions meant to override the corresponding functions of Set.module Exceptionless:sig..end
Set without exceptions.
module Labels:sig..end
Set with labels.