module UChar: Extlib.ExtUChar.UChar
Unicode (ISO-UCS) characters.
This module implements Unicode (actually ISO-UCS) characters. All 31-bit code points are allowed.
Note For conversions to lower/upercase, see modules UTF8
and Rope
.
Author(s): Yamagata Yoriyuki (Camomile module), Edgar Friendly, David Teller
typet =
CamomileLibrary.UChar.t
val is_whitespace : t -> bool
A character is a whitespace if it is either one of the ASCII
whitespaces (characters 9, 10, 12, 13, 26 and 32), or a part of
Unicode category Z
(separators).
val is_uppercase : t -> bool
val is_lowercase : t -> bool
val is_newline : t -> bool
`Zl
val lowercase : t -> t
val uppercase : t -> t
exception Out_of_range
val of_char : char -> t
of_char c
returns the Unicode character of the Latin-1 character c
val to_char : t -> char
to_char u
returns the Latin-1 representation of u
.Out_of_range
if u
can not be represented by Latin-1.val code : t -> int
code u
returns the Unicode code number of u
.
If the value can not be represented by a positive integer,
raise Out_of_rangeval chr : int -> t
code n
returns the Unicode character with the code number n
.
If n >= 2^31 or n < 0, raises invalid_arg
val uint_code : t -> int
uint_code u
returns the Unicode code number of u
.
The returned int is unsigned, that is, on 32-bits platforms,
the sign bit is used for storing the 31-th bit of the code number.val chr_of_uint : int -> t
chr_of_uint n
returns the Unicode character of the code number n
.
n
is interpreted as unsigned, that is, on 32-bits platforms,
the sign bit is treated as the 31-th bit of the code number.
If n exceed 31-bits values, then raise invalid_arg
.val of_digit : int -> t
Invalid_argument
"UChar.of_digit" if the
argument is outside the range 0--9val to_int : t -> int
uint_code
val of_int : int -> t
chr_of_uint
val eq : t -> t -> bool
val compare : t -> t -> int
compare u1 u2
returns,
a value > 0 if u1
has a larger Unicode code number than u2
,
0 if u1
and u2
are the same Unicode character,
a value < 0 if u1
has a smaller Unicode code number than u2
.val icompare : t -> t -> int
module UChar.IUChar:Extlib.Interfaces.OrderedType
with type t = t
typeuchar =
t
t