module Set.IRopeSet:A set of ropes. Comparison of ropes ignores case (i.e. r"foo" = r"Foo")Extlib.ExtSet.Set.S
with type elt = Rope.t
type
elt
type
t
val empty : Set.S.t
val is_empty : Set.S.t -> bool
val mem : Set.S.elt -> Set.S.t -> bool
mem x s
tests whether x
belongs to the set s
.val add : Set.S.elt -> Set.S.t -> Set.S.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 : Set.S.elt -> Set.S.t
singleton x
returns the one-element set containing only x
.val remove : Set.S.elt -> Set.S.t -> Set.S.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 : Set.S.t -> Set.S.t -> Set.S.t
val inter : Set.S.t -> Set.S.t -> Set.S.t
val diff : Set.S.t -> Set.S.t -> Set.S.t
val compare : Set.S.t -> Set.S.t -> int
val equal : Set.S.t -> Set.S.t -> bool
equal s1 s2
tests whether the sets s1
and s2
are
equal, that is, contain equal elements.val subset : Set.S.t -> Set.S.t -> bool
subset s1 s2
tests whether the set s1
is a subset of
the set s2
.val iter : (Set.S.elt -> unit) -> Set.S.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 map : (Set.S.elt -> Set.S.elt) ->
Set.S.t -> Set.S.t
map f x
creates a new set with elements f a0
,
f a1
... f an
, where a1
, ..., an
are the
values contained in x
val filter : (Set.S.elt -> bool) ->
Set.S.t -> Set.S.t
filter 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.t
filter_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 -> '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 : (Set.S.elt -> bool) -> Set.S.t -> bool
for_all p s
checks if all elements of the set
satisfy the predicate p
.val exists : (Set.S.elt -> bool) -> Set.S.t -> bool
exists 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.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 : Set.S.t -> int
val elements : Set.S.t -> Set.S.elt list
Ord.compare
, where Ord
is the argument
given to Set.Make
.val min_elt : Set.S.t -> Set.S.elt
Ord.compare
ordering).Not_found
if the set is empty.val max_elt : Set.S.t -> Set.S.elt
Set.S.min_elt
, but returns the largest element of the
given set.val choose : Set.S.t -> Set.S.elt
Not_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.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 enum : Set.S.t -> Set.S.elt Enum.t
Ord.compare
, where Ord
is the argument
given to Set.Make
.val backwards : Set.S.t -> Set.S.elt Enum.t
Ord.compare
, where Ord
is the argument
given to Set.Make
.val of_enum : Set.S.elt Enum.t -> Set.S.t
val t_of_sexp : (Sexplib.Sexp.t -> Set.S.elt) ->
Sexplib.Sexp.t -> Set.S.t
val sexp_of_t : (Set.S.elt -> Sexplib.Sexp.t) ->
Set.S.t -> Sexplib.Sexp.t
val print : ?first:string ->
?last:string ->
?sep:string ->
('a Extlib.InnerIO.output -> Set.S.elt -> unit) ->
'a Extlib.InnerIO.output -> Set.S.t -> unit
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
.
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.