module USet: sig
.. end
type
t
Sets of Unicode characters, implemented as sets of intervals.
The signature is mostly same to Set.S in stdlib
val empty : t
val is_empty : t -> bool
val mem : Main.Type.UChar.t -> t -> bool
val add : Main.Type.UChar.t -> t -> t
add_range u1 u2 s
adds the characters in the range u1
- u2
to s
. The range is determined by the code point order.
val add_range : Main.Type.UChar.t ->
Main.Type.UChar.t -> t -> t
val singleton : Main.Type.UChar.t -> t
val remove : Main.Type.UChar.t -> t -> t
remove_range u1 u2 s
removes the characters in the range u1
- u2
from s
. The range is determined by the code point order.
val remove_range : Main.Type.UChar.t ->
Main.Type.UChar.t -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
compl s
returns the compliment of s
.
val compl : t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
from u s
returns the set of elements of s
whose code points are equal or greater than u
.
val from : Main.Type.UChar.t -> t -> t
after u s
returns the set of elements of s
whose code points are greater than u
.
val after : Main.Type.UChar.t -> t -> t
until u s
returns the set of elements of s
whose code points are equal or smaller than u
.
val until : Main.Type.UChar.t -> t -> t
until u s
returns the set of elements of s
whose code points are smaller than u
.
val before : Main.Type.UChar.t -> t -> t
val iter : (Main.Type.UChar.t -> unit) -> t -> unit
iter_range proc s
feeds the intervals contained in s
to
proc
in increasing order. The intervals given to proc
are always separated by the character not in s
.
val iter_range : (Main.Type.UChar.t -> Main.Type.UChar.t -> unit) -> t -> unit
val fold : (Main.Type.UChar.t -> 'a -> 'a) -> t -> 'a -> 'a
fold_range f s x
is equivalent to
f u_i u_(i+1) (... (f u_3 u_4 (f u_1 u_2 x)))
if s
is consisted of
the intervals u1
-u2
, u3
-u4
, ..., u_i
-u_(i + 1)
in increasing order. The intervals given to proc
are always separated by the character not in s
.
val fold_range : (Main.Type.UChar.t -> Main.Type.UChar.t -> 'a -> 'a) ->
t -> 'a -> 'a
val for_all : (Main.Type.UChar.t -> bool) -> t -> bool
val exists : (Main.Type.UChar.t -> bool) -> t -> bool
val filter : (Main.Type.UChar.t -> bool) -> t -> t
val partition : (Main.Type.UChar.t -> bool) ->
t -> t * t
val cardinal : t -> int
val elements : t -> Main.Type.UChar.t list
The list of the intervals contained in the set.
The returned intervals are always separated
by the character not in s
.
val ranges : t -> (Main.Type.UChar.t * Main.Type.UChar.t) list
val min_elt : t -> Main.Type.UChar.t
val max_elt : t -> Main.Type.UChar.t
Returns a element roughly in the middle of the set.
It is not guaranteed to return the same element for
the sets with the same elements
val choose : t -> Main.Type.UChar.t
val uset_of_iset : Main.Type.ISet.t -> t
val iset_of_uset : t -> Main.Type.ISet.t