# 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 bom : t

`bom` is U+FEFF, the byte order mark (BOM) character.

- Since 4.06.0

    val rep : t

`rep` is U+FFFD, the replacement character.

- Since 4.06.0

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