sig
type t = string
exception Invalid of string * string
exception Out_of_bounds
type check_result = Correct of int | Message of string
val check : Zed_utf8.t -> Zed_utf8.check_result
val validate : Zed_utf8.t -> int
val next_error : Zed_utf8.t -> int -> int * int * string
val singleton : CamomileLibrary.UChar.t -> Zed_utf8.t
val make : int -> CamomileLibrary.UChar.t -> Zed_utf8.t
val init : int -> (int -> CamomileLibrary.UChar.t) -> Zed_utf8.t
val rev_init : int -> (int -> CamomileLibrary.UChar.t) -> Zed_utf8.t
val length : Zed_utf8.t -> int
val compare : Zed_utf8.t -> Zed_utf8.t -> int
val get : Zed_utf8.t -> int -> CamomileLibrary.UChar.t
val sub : Zed_utf8.t -> int -> int -> Zed_utf8.t
val break : Zed_utf8.t -> int -> Zed_utf8.t * Zed_utf8.t
val before : Zed_utf8.t -> int -> Zed_utf8.t
val after : Zed_utf8.t -> int -> Zed_utf8.t
val insert : Zed_utf8.t -> int -> Zed_utf8.t -> Zed_utf8.t
val remove : Zed_utf8.t -> int -> int -> Zed_utf8.t
val replace : Zed_utf8.t -> int -> int -> Zed_utf8.t -> Zed_utf8.t
val rev : Zed_utf8.t -> Zed_utf8.t
val concat : Zed_utf8.t -> Zed_utf8.t list -> Zed_utf8.t
val rev_concat : Zed_utf8.t -> Zed_utf8.t list -> Zed_utf8.t
val explode : Zed_utf8.t -> CamomileLibrary.UChar.t list
val rev_explode : Zed_utf8.t -> CamomileLibrary.UChar.t list
val implode : CamomileLibrary.UChar.t list -> Zed_utf8.t
val rev_implode : CamomileLibrary.UChar.t list -> Zed_utf8.t
val iter : (CamomileLibrary.UChar.t -> unit) -> Zed_utf8.t -> unit
val rev_iter : (CamomileLibrary.UChar.t -> unit) -> Zed_utf8.t -> unit
val fold : (CamomileLibrary.UChar.t -> 'a -> 'a) -> Zed_utf8.t -> 'a -> 'a
val rev_fold :
(CamomileLibrary.UChar.t -> 'a -> 'a) -> Zed_utf8.t -> 'a -> 'a
val map :
(CamomileLibrary.UChar.t -> CamomileLibrary.UChar.t) ->
Zed_utf8.t -> Zed_utf8.t
val rev_map :
(CamomileLibrary.UChar.t -> CamomileLibrary.UChar.t) ->
Zed_utf8.t -> Zed_utf8.t
val map_concat :
(CamomileLibrary.UChar.t -> Zed_utf8.t) -> Zed_utf8.t -> Zed_utf8.t
val rev_map_concat :
(CamomileLibrary.UChar.t -> Zed_utf8.t) -> Zed_utf8.t -> Zed_utf8.t
val filter : (CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> Zed_utf8.t
val rev_filter :
(CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> Zed_utf8.t
val filter_map :
(CamomileLibrary.UChar.t -> CamomileLibrary.UChar.t option) ->
Zed_utf8.t -> Zed_utf8.t
val rev_filter_map :
(CamomileLibrary.UChar.t -> CamomileLibrary.UChar.t option) ->
Zed_utf8.t -> Zed_utf8.t
val filter_map_concat :
(CamomileLibrary.UChar.t -> Zed_utf8.t option) ->
Zed_utf8.t -> Zed_utf8.t
val rev_filter_map_concat :
(CamomileLibrary.UChar.t -> Zed_utf8.t option) ->
Zed_utf8.t -> Zed_utf8.t
val for_all : (CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> bool
val exists : (CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> bool
val count : (CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> int
val contains : Zed_utf8.t -> Zed_utf8.t -> bool
val starts_with : Zed_utf8.t -> Zed_utf8.t -> bool
val ends_with : Zed_utf8.t -> Zed_utf8.t -> bool
val strip :
?predicate:(CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> Zed_utf8.t
val lstrip :
?predicate:(CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> Zed_utf8.t
val rstrip :
?predicate:(CamomileLibrary.UChar.t -> bool) -> Zed_utf8.t -> Zed_utf8.t
val lchop : Zed_utf8.t -> Zed_utf8.t
val rchop : Zed_utf8.t -> Zed_utf8.t
val add : Buffer.t -> CamomileLibrary.UChar.t -> unit
val escaped_char : CamomileLibrary.UChar.t -> Zed_utf8.t
val add_escaped_char : Buffer.t -> CamomileLibrary.UChar.t -> unit
val escaped : Zed_utf8.t -> Zed_utf8.t
val add_escaped : Buffer.t -> Zed_utf8.t -> unit
val escaped_string :
CamomileLibraryDyn.Camomile.CharEncoding.t -> string -> Zed_utf8.t
val add_escaped_string :
Buffer.t -> CamomileLibraryDyn.Camomile.CharEncoding.t -> string -> unit
val next : Zed_utf8.t -> int -> int
val prev : Zed_utf8.t -> int -> int
val extract : Zed_utf8.t -> int -> CamomileLibrary.UChar.t
val extract_next : Zed_utf8.t -> int -> CamomileLibrary.UChar.t * int
val extract_prev : Zed_utf8.t -> int -> CamomileLibrary.UChar.t * int
val unsafe_next : Zed_utf8.t -> int -> int
val unsafe_prev : Zed_utf8.t -> int -> int
val unsafe_extract : Zed_utf8.t -> int -> CamomileLibrary.UChar.t
val unsafe_extract_next :
Zed_utf8.t -> int -> CamomileLibrary.UChar.t * int
val unsafe_extract_prev :
Zed_utf8.t -> int -> CamomileLibrary.UChar.t * int
end