sig
type t = Extlib.ExtUTF8.UTF8.t
exception Malformed_code
val validate : string -> unit
val append : t -> t -> t
val empty : t
val of_char : Extlib.ExtUChar.UChar.t -> t
val make : int -> Extlib.ExtUChar.UChar.t -> t
val of_string : string -> t
val to_string : t -> string
val enum : t -> Extlib.ExtUChar.UChar.t Extlib.Enum.t
val of_enum : Extlib.ExtUChar.UChar.t Extlib.Enum.t -> t
val backwards : t -> Extlib.ExtUChar.UChar.t Extlib.Enum.t
val of_backwards : Extlib.ExtUChar.UChar.t Extlib.Enum.t -> t
val sub : t -> int -> int -> t
val get : t -> int -> Extlib.ExtUChar.UChar.t
val init : int -> (int -> Extlib.ExtUChar.UChar.t) -> t
val length : t -> int
val length0 : int -> int
type char_idx = int
module Byte :
sig
type b_idx = Extlib.ExtUTF8.UTF8.Byte.b_idx
val of_int_unsafe : int -> b_idx
val to_int : b_idx -> int
val next : t -> b_idx -> b_idx
val prev : t -> b_idx -> b_idx
val of_char_idx : t -> char_idx -> b_idx
val at_end : t -> b_idx -> bool
val out_of_range : t -> b_idx -> bool
val first : b_idx
val last : t -> b_idx
val move : t -> b_idx -> int -> b_idx
end
type index = int
val look : t -> Byte.b_idx -> Extlib.ExtUChar.UChar.t
val out_of_range : t -> Byte.b_idx -> bool
val compare_index : t -> index -> index -> int
val next : t -> index -> index
val prev : t -> index -> index
val move : t -> index -> int -> index
val iter : (Extlib.ExtUChar.UChar.t -> unit) -> t -> unit
val compare : t -> t -> int
val concat : t -> t list -> t
val join : t -> t list -> t
val uppercase : t -> t
val lowercase : t -> t
val init : int -> (int -> Extlib.ExtUChar.UChar.t) -> t
val map : (Extlib.ExtUChar.UChar.t -> Extlib.ExtUChar.UChar.t) -> t -> t
val filter_map :
(Extlib.ExtUChar.UChar.t -> Extlib.ExtUChar.UChar.t option) -> t -> t
val filter : (Extlib.ExtUChar.UChar.t -> bool) -> t -> t
val index : t -> Extlib.ExtUChar.UChar.t -> int
val rindex : t -> Extlib.ExtUChar.UChar.t -> int
val contains : t -> Extlib.ExtUChar.UChar.t -> bool
val contains_from : t -> Extlib.ExtUChar.UChar.t -> Byte.b_idx -> bool
val rcontains_from : t -> Extlib.ExtUChar.UChar.t -> Byte.b_idx -> bool
val escaped : t -> t
module Buf :
sig
type buf = Buffer.t
val create : int -> buf
val contents : buf -> t
val clear : buf -> unit
val reset : buf -> unit
val add_char : buf -> Extlib.ExtUChar.UChar.t -> unit
val add_string : buf -> t -> unit
val add_buffer : buf -> buf -> unit
end
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val print : 'a Extlib.InnerIO.output -> t -> unit
val t_printer : t Extlib.Value_printer.t
external of_string_unsafe : string -> t = "%identity"
external to_string_unsafe : t -> string = "%identity"
val unsafe_get : t -> int -> Extlib.ExtUChar.UChar.t
val copy_set : t -> int -> Extlib.ExtUChar.UChar.t -> t
end