sig
type mutability = [ `Immutable | `Mutable ]
type 'a text
type utext = [ `Immutable ] UText.text
type ustring = [ `Mutable ] UText.text
type t = UText.utext
val utext_of_ustring : UText.ustring -> UText.utext
val ustring_of_utext : UText.utext -> UText.ustring
val get : 'a UText.text -> int -> UChar.t
val set : UText.ustring -> int -> UChar.t -> unit
type index
val look : 'a UText.text -> UText.index -> UChar.t
val nth : 'a UText.text -> int -> UText.index
val first : 'a UText.text -> UText.index
val last : 'a UText.text -> UText.index
val out_of_range : 'a UText.text -> UText.index -> bool
val compare_index : 'a UText.text -> UText.index -> UText.index -> int
val next : 'a UText.text -> UText.index -> UText.index
val prev : 'a UText.text -> UText.index -> UText.index
val move : 'a UText.text -> UText.index -> int -> UText.index
val length : 'a UText.text -> int
val of_string : string -> UText.utext
val init : int -> (int -> UChar.t) -> UText.utext
val init_ustring : int -> (int -> UChar.t) -> UText.ustring
val make : int -> UChar.t -> UText.ustring
val copy : UText.ustring -> UText.ustring
val sub : 'a UText.text -> int -> int -> 'a UText.text
val fill : UText.ustring -> int -> int -> UChar.t -> unit
val blit : 'a UText.text -> int -> UText.ustring -> int -> int -> unit
val append : 'a UText.text -> 'b UText.text -> 'a UText.text
val iter : (UChar.t -> unit) -> 'a UText.text -> unit
val compare : 'a UText.text -> 'b UText.text -> int
module Buf :
sig
type buf
val create : int -> UText.Buf.buf
val contents : UText.Buf.buf -> UText.t
val contents_string : UText.Buf.buf -> UText.ustring
val length : UText.Buf.buf -> int
val clear : UText.Buf.buf -> unit
val reset : UText.Buf.buf -> unit
val add_char : UText.Buf.buf -> UChar.t -> unit
val add_string : UText.Buf.buf -> 'a UText.text -> unit
val add_buffer : UText.Buf.buf -> UText.Buf.buf -> unit
end
end