# Module CamomileLibrary.Type.UText

    module UText: sig .. end

An implementation of Unicode string.
An implementation of Unicode string.
An implementation of Unicode string. Internally, it uses integer array. The semantics matches the description of UStorage.

    type mutability = [ `Immutable | `Mutable ]

Phantom type for distinguishing mutability

    type 'a text

    type utext = [ `Immutable ] text

    type ustring = [ `Mutable ] text

    type t = utext

    val utext_of_ustring : ustring -> utext

    val ustring_of_utext : utext -> ustring

    val get : 'a text -> int -> CamomileLibrary.Type.UChar.t

    val set : ustring ->
           int -> CamomileLibrary.Type.UChar.t -> unit

`set s i u` sets the `i`-th character in `s` to `u`.

    type index

    val look : 'a text ->
           index -> CamomileLibrary.Type.UChar.t

    val nth : 'a text -> int -> index

    val first : 'a text -> index

    val last : 'a text -> index

    val out_of_range : 'a text ->
           index -> bool

    val compare_index : 'a text ->
           index -> index -> int

    val next : 'a text ->
           index -> index

    val prev : 'a text ->
           index -> index

    val move : 'a text ->
           index -> int -> index

    val length : 'a text -> int

    val of_string : string -> utext

Conversion from Latin-1 strings.

    val init : int ->
           (int -> CamomileLibrary.Type.UChar.t) -> utext

    val init_ustring : int ->
           (int -> CamomileLibrary.Type.UChar.t) -> ustring

    val make : int -> CamomileLibrary.Type.UChar.t -> ustring

The semantics of these function are similar to the equivalents of string.

    val copy : ustring -> ustring

    val sub : 'a text ->
           int -> int -> 'a text

    val fill : ustring ->
           int -> int -> CamomileLibrary.Type.UChar.t -> unit

    val blit : 'a text ->
           int -> ustring -> int -> int -> unit

    val append : 'a text ->
           'b text -> 'a text

    val iter : (CamomileLibrary.Type.UChar.t -> unit) ->
           'a text -> unit

    val compare : 'a text ->
           'b text -> int

    module Buf: sig .. end