(** UTF8 is used internally for all strings The module is intentionaly opaque. *) (** An UTF8 encoded string *) type t val empty: t (** Decode a string in the current locale *) val decode: string -> t (** Use this to with a known UTF8 encoded string *) val from_utf8string: string -> t (** Encode to the string to the user locale *) val encode: t -> string option (** Encode the string. This function may raise Text.Invalid if the string cannot be encoded in current locale *) val raw_encode: t -> string val to_utf8string: t -> string val trim: t -> t val length: t -> int val get: t -> int -> t val rev_explode : t -> t list val split: t -> sep:t -> t val fold : (t -> 'a -> 'a) -> t -> 'a -> 'a val implode : t list -> t val rev_implode : t list -> t val compare: t -> t -> int module Buffer : sig type buffer val create : int -> buffer val contents : buffer -> t val add_string : buffer -> t -> unit val add_char: buffer -> char -> unit end module Printf : sig val bprintf : Buffer.buffer -> ('a, Buffer.buffer, unit) format -> 'a end module Format: sig val formatter_of_buffer : Buffer.buffer -> Format.formatter val fprintf : Format.formatter -> ('a, Format.formatter, unit) format -> 'a end