Up

module UChar

: sig

Unicode (ISO-UCS) characters.

This module implements Unicode (actually ISO-UCS) characters. All 31-bit code points are allowed.

#
type t

Unicode characters. All 31bit code points are allowed.

#
exception Out_of_range
#
val char_of : t -> char

char_of u returns the Latin-1 representation of u. If u can not be represented by Latin-1, raises Out_of_range

#
val of_char : char -> t

of_char c returns the Unicode character of the Latin-1 character c

#
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_range

#
val chr : int -> t

code n returns the Unicode character with the code number n. If n >= 2^32 or n < 0, raises invalid_arg

#
external uint_code : t -> int = "%identity"

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 eq : t -> t -> bool

Equality by code point comparison

#
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.

#
type uchar = t

Aliases of type t

#
val int_of : uchar -> int

Alias of uint_code

#
val of_int : int -> uchar

Alias of chr_of_uint

end