sig
type character = char
type t = string
val max_string_length : int option
val empty : string
val is_empty : string -> bool
val make : int -> char -> string
val length : string -> int
val of_character : char -> string
val of_character_list : char list -> string
val to_character_list : string -> char list
val get : string -> index:int -> char option
val set : string -> index:int -> v:char -> string option
val get_exn : string -> index:int -> char
val set_exn : string -> index:int -> v:char -> string
val concat : ?sep:string -> string list -> string
val of_native_string :
string -> (string, [> `wrong_char_at of int ]) Sosa.Api.result
val of_native_substring :
string ->
offset:int ->
length:int ->
(string, [> `out_of_bounds | `wrong_char_at of int ]) Sosa.Api.result
val to_native_string : string -> string
val to_string_hum : string -> string
val fold : string -> init:'a -> f:('a -> char -> 'a) -> 'a
val foldi : string -> init:'a -> f:(int -> 'a -> char -> 'a) -> 'a
val fold2_exn :
string -> string -> init:'a -> f:('a -> char -> char -> 'a) -> 'a
val compare : string -> string -> int
val sub : string -> index:int -> length:int -> string option
val sub_exn : string -> index:int -> length:int -> string
val slice : ?start:int -> ?finish:int -> string -> string option
val slice_exn : ?start:int -> ?finish:int -> string -> string
val is_prefix : string -> prefix:string -> bool
val is_suffix : string -> suffix:string -> bool
val chop_prefix_exn : string -> prefix:string -> string
val chop_prefix : string -> prefix:string -> string option
val chop_suffix_exn : string -> suffix:string -> string
val chop_suffix : string -> suffix:string -> string option
val split_at : string -> index:int -> string * string
val take : string -> index:int -> string
val drop : string -> index:int -> string
val compare_substring : string * int * int -> string * int * int -> int
val compare_substring_strict :
string * int * int -> string * int * int -> int option
val iter : string -> f:(char -> unit) -> unit
val iteri : string -> f:(int -> char -> unit) -> unit
val iter_reverse : string -> f:(char -> unit) -> unit
val rev : string -> string
val map : string -> f:(char -> char) -> string
val mapi : string -> f:(int -> char -> char) -> string
val map2_exn : string -> string -> f:(char -> char -> char) -> string
val for_all : string -> f:(char -> bool) -> bool
val exists : string -> f:(char -> bool) -> bool
val take_while : string -> f:(char -> bool) -> string
val take_while_with_index : string -> f:(int -> char -> bool) -> string
val index_of_character : string -> ?from:int -> char -> int option
val index_of_character_reverse : string -> ?from:int -> char -> int option
val index_of_string :
?from:int ->
?sub_index:int -> ?sub_length:int -> string -> sub:string -> int option
val index_of_string_reverse :
?from:int ->
?sub_index:int -> ?sub_length:int -> string -> sub:string -> int option
val find :
?from:int -> ?length:int -> string -> f:(char -> bool) -> int option
val find_reverse :
?from:int -> ?length:int -> string -> f:(char -> bool) -> int option
val filter_map :
?from:int -> ?length:int -> string -> f:(char -> char option) -> string
val filter :
?from:int -> ?length:int -> string -> f:(char -> bool) -> string
val split :
string -> on:[ `Character of char | `String of string ] -> string list
val strip :
?on:[ `Both | `Left | `Right ] ->
?whitespace:(char -> bool) -> string -> string
module Make_output = Sosa.Native_string.Make_output
end