Batteries user guide : BatUTF8

`sig
type t = string
exception Malformed_code
val validate : BatUTF8.t -> unit
val get : BatUTF8.t -> int -> BatUChar.t
val init : int -> (int -> BatUChar.t) -> BatUTF8.t
val length : BatUTF8.t -> int
type index = int
val nth : BatUTF8.t -> int -> BatUTF8.index
val first : BatUTF8.t -> BatUTF8.index
val last : BatUTF8.t -> BatUTF8.index
val look : BatUTF8.t -> BatUTF8.index -> BatUChar.t
val out_of_range : BatUTF8.t -> BatUTF8.index -> 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 : (BatUChar.t -> unit) -> BatUTF8.t -> unit
val compare : BatUTF8.t -> BatUTF8.t -> int
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 -> BatUChar.t -> unit
val add_string : BatUTF8.Buf.buf -> BatUTF8.t -> unit
val add_buffer : BatUTF8.Buf.buf -> BatUTF8.Buf.buf -> unit
end
val make : int -> BatUChar.t -> BatUTF8.t
val of_string_unsafe : string -> BatUTF8.t
val to_string_unsafe : BatUTF8.t -> string
val of_char : BatUChar.t -> BatUTF8.t
val empty : BatUTF8.t
val sub : BatUTF8.t -> int -> int -> BatUTF8.t
val iteri : (BatUChar.t -> int -> unit) -> BatUTF8.t -> unit
val fold : ('a -> BatUChar.t -> 'a) -> 'a -> BatUTF8.t -> 'a
val map : (BatUChar.t -> BatUChar.t) -> BatUTF8.t -> BatUTF8.t
val filter_map :
(BatUChar.t -> BatUChar.t option) -> BatUTF8.t -> BatUTF8.t
val filter : (BatUChar.t -> bool) -> BatUTF8.t -> BatUTF8.t
val rindex : BatUTF8.t -> BatUChar.t -> int
val contains : BatUTF8.t -> BatUChar.t -> bool
val escaped : BatUTF8.t -> BatUTF8.t
val of_latin1 : string -> BatUTF8.t
val length0 : int -> int
module ByteIndex :
sig
type t = string
type b_idx
type char_idx = int
val of_int_unsafe : int -> BatUTF8.ByteIndex.b_idx
val to_int : BatUTF8.ByteIndex.b_idx -> int
val next :
BatUTF8.ByteIndex.t ->
BatUTF8.ByteIndex.b_idx -> BatUTF8.ByteIndex.b_idx
val prev :
BatUTF8.ByteIndex.t ->
BatUTF8.ByteIndex.b_idx -> BatUTF8.ByteIndex.b_idx
val of_char_idx :
BatUTF8.ByteIndex.t ->
BatUTF8.ByteIndex.char_idx -> BatUTF8.ByteIndex.b_idx
val at_end : BatUTF8.ByteIndex.t -> BatUTF8.ByteIndex.b_idx -> bool
val out_of_range :
BatUTF8.ByteIndex.t -> BatUTF8.ByteIndex.b_idx -> bool
val first : BatUTF8.ByteIndex.b_idx
val last : BatUTF8.ByteIndex.t -> BatUTF8.ByteIndex.b_idx
val move :
BatUTF8.ByteIndex.t ->
BatUTF8.ByteIndex.b_idx -> int -> BatUTF8.ByteIndex.b_idx
val look : BatUTF8.ByteIndex.t -> BatUTF8.ByteIndex.b_idx -> BatUChar.t
end
end`