Module NS.String

include module type of ContainersLabels.String
type !'a iter = ('a -> unit) -> unit
type !'a gen = unit -> 'a option
val make : int -> char -> string
val init : int -> f:(int -> char) -> string
val empty : string
val get : string -> int -> char
val of_bytes : bytes -> string
val to_bytes : string -> bytes
val concat : sep:string -> string list -> string
val cat : string -> string -> string
val starts_with : prefix:string -> string -> bool
val ends_with : suffix:string -> string -> bool
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val contains : string -> char -> bool
val sub : string -> pos:int -> len:int -> string
val map : f:(char -> char) -> string -> string
val mapi : f:(int -> char -> char) -> string -> string
val fold_left : f:('acc -> char -> 'acc) -> init:'acc -> string -> 'acc
val fold_right : f:(char -> 'acc -> 'acc) -> string -> init:'acc -> 'acc
val trim : string -> string
val escaped : string -> string
val iteri : f:(int -> char -> unit) -> string -> unit
val index_from_opt : string -> int -> char -> int option
val rindex_from_opt : string -> int -> char -> int option
val index_opt : string -> char -> int option
val rindex_opt : string -> char -> int option
val to_seqi : string -> (int * char) Stdlib.Seq.t
val get_utf_8_uchar : string -> int -> Stdlib.Uchar.utf_decode
val is_valid_utf_8 : string -> bool
val get_utf_16be_uchar : string -> int -> Stdlib.Uchar.utf_decode
val is_valid_utf_16be : string -> bool
val get_utf_16le_uchar : string -> int -> Stdlib.Uchar.utf_decode
val is_valid_utf_16le : string -> bool
val get_uint8 : string -> int -> int
val get_int8 : string -> int -> int
val get_uint16_ne : string -> int -> int
val get_uint16_be : string -> int -> int
val get_uint16_le : string -> int -> int
val get_int16_ne : string -> int -> int
val get_int16_be : string -> int -> int
val get_int16_le : string -> int -> int
val get_int32_ne : string -> int -> int32
val seeded_hash : int -> string -> int
val get_int32_be : string -> int -> int32
val get_int32_le : string -> int -> int32
val get_int64_ne : string -> int -> int64
val get_int64_be : string -> int -> int64
val get_int64_le : string -> int -> int64
val unsafe_get : string -> int -> char
val unsafe_blit : src:string -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unit
val length : string -> int
val blit : src:string -> src_pos:int -> dst:Stdlib.Bytes.t -> dst_pos:int -> len:int -> unit
val fold : f:('a -> char -> 'a) -> init:'a -> string -> 'a
val foldi : f:('a -> int -> char -> 'a) -> 'a -> string -> 'a
val to_gen : string -> char gen
val to_iter : string -> char iter
val to_seq : string -> char Stdlib.Seq.t
val to_list : string -> char list
val pp_buf : Stdlib.Buffer.t -> string -> unit
val pp : Stdlib.Format.formatter -> string -> unit
val is_empty : string -> bool
val hash : string -> int
val rev : string -> string
val pad : ?side:[ `Left | `Right ] -> ?c:char -> int -> string -> string
val of_char : char -> string
val of_gen : char gen -> string
val of_iter : char iter -> string
val of_seq : char Stdlib.Seq.t -> string
val of_list : char list -> string
val of_array : char array -> string
val to_array : string -> char array
val find : ?start:int -> sub:string -> string -> int
val find_all : ?start:int -> sub:string -> string -> int gen
val find_all_l : ?start:int -> sub:string -> string -> int list
val mem : ?start:int -> sub:string -> string -> bool
val rfind : sub:string -> string -> int
val replace : ?which:[ `All | `Left | `Right ] -> sub:string -> by:string -> string -> string
val is_sub : sub:string -> sub_pos:int -> string -> pos:int -> sub_len:int -> bool
val repeat : string -> int -> string
val prefix : pre:string -> string -> bool
val suffix : suf:string -> string -> bool
val chop_prefix : pre:string -> string -> string option
val chop_suffix : suf:string -> string -> string option
val take : int -> string -> string
val drop : int -> string -> string
val take_drop : int -> string -> string * string
val lines : string -> string list
val lines_gen : string -> string gen
val lines_iter : string -> string iter
val lines_seq : string -> string Stdlib.Seq.t
val concat_iter : sep:string -> string iter -> string
val concat_gen : sep:string -> string gen -> string
val concat_seq : sep:string -> string Stdlib.Seq.t -> string
val unlines : string list -> string
val unlines_gen : string gen -> string
val unlines_iter : string iter -> string
val unlines_seq : string Stdlib.Seq.t -> string
val set : string -> int -> char -> string
val iter : f:(char -> unit) -> string -> unit
val filter_map : f:(char -> char option) -> string -> string
val filter : f:(char -> bool) -> string -> string
val uniq : eq:(char -> char -> bool) -> string -> string
val flat_map : ?sep:string -> f:(char -> string) -> string -> string
val for_all : f:(char -> bool) -> string -> bool
val exists : f:(char -> bool) -> string -> bool
val drop_while : f:(char -> bool) -> string -> string
val rdrop_while : f:(char -> bool) -> string -> string
val ltrim : string -> string
val rtrim : string -> string
val map2 : f:(char -> char -> char) -> string -> string -> string
val iter2 : f:(char -> char -> unit) -> string -> string -> unit
val iteri2 : f:(int -> char -> char -> unit) -> string -> string -> unit
val fold2 : f:('a -> char -> char -> 'a) -> init:'a -> string -> string -> 'a
val for_all2 : f:(char -> char -> bool) -> string -> string -> bool
val exists2 : f:(char -> char -> bool) -> string -> string -> bool
val capitalize_ascii : string -> string
val uncapitalize_ascii : string -> string
val uppercase_ascii : string -> string
val lowercase_ascii : string -> string
val equal_caseless : string -> string -> bool
val to_hex : string -> string
val of_hex : string -> string option
val of_hex_exn : string -> string
module Find : sig ... end
module Split : sig ... end
val split_on_char : by:char -> string -> string list
val split : by:string -> string -> string list
val compare_versions : string -> string -> int
val compare_natural : string -> string -> int
val edit_distance : ?cutoff:int -> string -> string -> int
module Infix : sig ... end
val (=) : string -> string -> bool
val (<>) : string -> string -> bool
val (<) : string -> string -> bool
val (<=) : string -> string -> bool
val (>=) : string -> string -> bool
val (>) : string -> string -> bool
type t = string
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val index : string -> char -> int option
val index_exn : string -> char -> int
val index_from : string -> int -> char -> int option
val index_from_exn : string -> int -> char -> int
val rindex : string -> char -> int option
val rindex_exn : string -> char -> int
val rindex_from : string -> int -> char -> int option
val rindex_from_exn : string -> int -> char -> int
val rtake : int -> string -> string
val rdrop : int -> string -> string
val rtake_drop : int -> string -> string * string
module Set : sig ... end
module Map : sig ... end
module Tbl : sig ... end