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