package camomile

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module CamomileLib.USet

Sets of Unicode characters, implemented as sets of intervals. The signature is mostly same to Set.S in stdlib

type t
val empty : t
val is_empty : t -> bool
val mem : UChar.t -> t -> bool
val add : UChar.t -> t -> t
val add_range : UChar.t -> 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 singleton : UChar.t -> t
val remove : UChar.t -> t -> t
val remove_range : UChar.t -> 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 union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compl : t -> t

compl s returns the compliment of s.

val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val from : UChar.t -> t -> t

from u s returns the set of elements of s whose code points are equal or greater than u.

val after : UChar.t -> t -> t

after u s returns the set of elements of s whose code points are greater than u.

val until : UChar.t -> t -> t

until u s returns the set of elements of s whose code points are equal or smaller than u.

val before : UChar.t -> t -> t

until u s returns the set of elements of s whose code points are smaller than u.

val iter : (UChar.t -> unit) -> t -> unit
val iter_range : (UChar.t -> 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 fold : (UChar.t -> 'a -> 'a) -> t -> 'a -> 'a
val fold_range : (UChar.t -> 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 for_all : (UChar.t -> bool) -> t -> bool
val exists : (UChar.t -> bool) -> t -> bool
val filter : (UChar.t -> bool) -> t -> t
val partition : (UChar.t -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> UChar.t list
val ranges : t -> (UChar.t * 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 min_elt : t -> UChar.t
val max_elt : t -> UChar.t
val choose : t -> 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 uset_of_iset : ISet.t -> t
val iset_of_uset : t -> ISet.t
OCaml

Innovation. Community. Security.