sig
type t = string
type char = Cd_Chars.Chars.Latin1.Char.t
external length : t -> int = "%string_length"
external get : t -> int -> char = "%string_safe_get"
val make : int -> char -> t
val copy : t -> t
val sub : t -> int -> int -> t
val concat : t -> t list -> t
val iter : (char -> unit) -> t -> unit
val escaped : t -> t
val index : t -> char -> int
val rindex : t -> char -> int
val index_from : t -> int -> char -> int
val rindex_from : t -> int -> char -> int
val contains : t -> char -> bool
val contains_from : t -> int -> char -> bool
val rcontains_from : t -> int -> char -> bool
val uppercase : t -> t
val lowercase : t -> t
val capitalize : t -> t
val uncapitalize : t -> t
val compare : t -> t -> int
external unsafe_get : t -> int -> char = "%string_unsafe_get"
val is_prefix : string:string -> prefix:string -> bool
val chop_prefix : string:string -> prefix:string -> string
val is_suffix : string:string -> suffix:string -> bool
val chop_suffix : string:string -> suffix:string -> string
val trim_count : (char -> bool) -> string -> int * string * int
val trim : (char -> bool) -> string -> string
val split_by_first : (char -> bool) -> string -> string * string * string
val split_exact : (char -> bool) -> string -> string list
val split : (char -> bool) -> string -> string list
val decode_hex_opt : char -> int option
val urldecode : string -> string
val urlencode : string -> string
val concat_array : string -> string array -> string
val explode : string -> char list
val compare_nocase_latin1 : string -> string -> int
val of_bytes : Cd_Bytes.Bytes.t -> string
val of_char : char -> string
val length_bytes : string -> int
val map_reduce : (char -> 'a) -> 'a Monoid.t -> string -> 'a
val monoid_concat : string Monoid.t
val append : string -> string -> string
val eq_nocase_latin1 : string -> string -> bool
val cmp_nocase_latin1 : string -> string -> Cdt.cmp_res
val hash_nocase_latin1 : string -> int
val hexdump : style:[ `Line ] -> string -> string
val cmp : string -> string -> Cdt.cmp_res
val eq : string -> string -> bool
val hash : string -> int
val show : string -> string
val opt_cmp : string -> string -> Cdt.cmp_res
val opt_eq : string -> string -> bool
val opt_hash : string -> int
val opt_show : string -> string
val ti : string Cdt.ti
val tifull : string Cdt.tifull
end