# Module Uchar

    module Uchar: sig .. end

Unicode characters.
Since 4.03

    type t

The type for Unicode characters.

A value of this type represents an Unicode scalar value which is an integer in the ranges `0x0000`...`0xD7FF` or `0xE000`...`0x10FFFF`.

    val min : t

`min` is U+0000.

    val max : t

`max` is U+10FFFF.

    val succ : t -> t

`succ u` is the scalar value after `u` in the set of Unicode scalar values.
Raises `Invalid_argument` if `u` is `Uchar.max`.

    val pred : t -> t

`pred u` is the scalar value before `u` in the set of Unicode scalar values.
Raises `Invalid_argument` if `u` is `Uchar.min`.

    val is_valid : int -> bool

`is_valid n` is `true` iff `n` is an Unicode scalar value (i.e. in the ranges `0x0000`...`0xD7FF` or `0xE000`...`0x10FFFF`).

    val of_int : int -> t

`of_int i` is `i` as an Unicode character.
Raises `Invalid_argument` if `i` does not satisfy `Uchar.is_valid`.

    val to_int : t -> int

`to_int u` is `u` as an integer.

    val is_char : t -> bool

`is_char u` is `true` iff `u` is a latin1 OCaml character.

    val of_char : char -> t

`of_char c` is `c` as an Unicode character.

    val to_char : t -> char

`to_char u` is `u` as an OCaml latin1 character.
Raises `Invalid_argument` if `u` does not satisfy `Uchar.is_char`.

    val equal : t -> t -> bool

`equal u u'` is `u = u'`.

    val compare : t -> t -> int

`compare u u'` is `Pervasives.compare u u'`.

    val hash : t -> int

`hash u` associates a non-negative integer to `u`.

    val dump : Format.formatter -> t -> unit

`dump ppf u` prints a representation of `u` on `ppf` using only US-ASCII encoded characters according to the Unicode notational convention for code points.