CamomileLibrary.USetSourceSets of Unicode characters, implemented as sets of intervals. The signature is mostly same to Set.S in stdlib
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.
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