val empty : t
val is_empty : t -> bool
add_range u1 u2 s
adds the characters in the range u1
- u2
to s
. The range is determined by the code point order.
remove_range u1 u2 s
removes the characters in the range u1
- u2
from s
. The range is determined by the code point order.
from u s
returns the set of elements of s
whose code points are equal or greater than u
.
after u s
returns the set of elements of s
whose code points are greater than u
.
until u s
returns the set of elements of s
whose code points are equal or smaller than u
.
until u s
returns the set of elements of s
whose code points are smaller than u
.
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
.
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 cardinal : t -> int
The list of the intervals contained in the set. The returned intervals are always separated by the character not in s
.
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 uset_of_iset : (int * int) CamomileLibrary__AvlTree.tree -> t
val iset_of_uset : t -> (int * int) CamomileLibrary__AvlTree.tree