Module Astring_sub

val sunsafe_get : string -> int -> char
val strf : ('a, Format.formatter, unit, string) format4 -> 'a
val err_base : string
val err_empty_sub : int -> string
val err_pos_range : int -> int -> int -> string
val v : ?start:int -> ?stop:int -> string -> string * int * int
val of_string_with_range : ?first:int -> ?len:int -> string -> string * int * int
val of_string_with_index_range : ?first:int -> ?last:int -> string -> string * int * int
type t = string * int * int
val empty : string * int * int
val start_pos : ('a * 'b * 'c) -> 'b
val stop_pos : ('a * 'b * 'c) -> 'c
val base_string : ('a * 'b * 'c) -> 'a
val length : ('a * int * int) -> int
val get : (string * int * 'a) -> int -> char
val get_byte : (string * int * 'a) -> int -> int
val unsafe_get : (string * int * 'a) -> int -> char
val unsafe_get_byte : (string * int * 'a) -> int -> int
val head : ?rev:bool -> (string * int * int) -> char option
val get_head : ?rev:bool -> (string * int * int) -> char
val of_string : string -> string * int * int
val to_string : (string * int * int) -> string
val rebase : (string * int * int) -> string * int * int
val hash : 'a -> int
val start : ('a * 'b * 'c) -> 'a * 'b * 'b
val stop : ('a * 'b * 'c) -> 'a * 'c * 'c
val base : (string * 'a * 'b) -> string * int * int
val tail : ?rev:bool -> ('a * int * int) -> 'a * int * int
val fextend : ?max:int -> sat:(char -> bool) -> (string * 'a * int) -> string * 'a * int
val rextend : ?max:int -> sat:(char -> bool) -> (string * int * 'a) -> string * int * 'a
val extend : ?rev:bool -> ?max:int -> ?sat:(char -> bool) -> (string * int * int) -> string * int * int
val freduce : ?max:int -> sat:(char -> bool) -> (string * int * int) -> string * int * int
val rreduce : ?max:int -> sat:(char -> bool) -> (string * int * int) -> string * int * int
val reduce : ?rev:bool -> ?max:int -> ?sat:(char -> bool) -> (string * int * int) -> string * int * int
val extent : ('a * 'b * 'c) -> ('a * 'b * 'c) -> 'a * 'b * 'c
val overlap : ('a * 'b * 'b) -> ('a * 'b * 'b) -> ('a * 'b * 'b) option
val append : (string * int * int) -> (string * int * int) -> string * int * int
val concat : ?sep:(string * int * int) -> (string * int * int) list -> string * int * int
val is_empty : ('a * int * int) -> bool
val is_prefix : affix:(string * int * int) -> (string * int * int) -> bool
val is_infix : affix:(string * int * int) -> (string * int * int) -> bool
val is_suffix : affix:(string * int * int) -> (string * int * int) -> bool
val for_all : (char -> bool) -> (string * int * int) -> bool
val exists : (char -> bool) -> (string * int * int) -> bool
val same_base : ('a * 'b * 'c) -> ('a * 'd * 'e) -> bool
val equal_bytes : (string * int * int) -> (string * int * int) -> bool
val compare_bytes : (string * int * int) -> (string * int * int) -> int
val eq_pos : int -> int -> bool
val equal : ('a * int * int) -> ('a * int * int) -> bool
val compare_pos : int -> int -> int
val compare : ('a * int * int) -> ('a * int * int) -> int
val with_range : ?first:int -> ?len:int -> ('a * int * int) -> 'a * int * int
val with_index_range : ?first:int -> ?last:int -> ('a * int * int) -> 'a * int * int
val trim : ?drop:(char -> bool) -> (string * int * int) -> string * int * int
val fspan : min:int -> max:int -> sat:(char -> bool) -> (string * int * int) -> (string * int * int) * (string * int * int)
val rspan : min:int -> max:int -> sat:(char -> bool) -> (string * int * int) -> (string * int * int) * (string * int * int)
val span : ?rev:bool -> ?min:int -> ?max:int -> ?sat:(char -> bool) -> (string * int * int) -> (string * int * int) * (string * int * int)
val take : ?rev:bool -> ?min:int -> ?max:int -> ?sat:(char -> bool) -> (string * int * int) -> string * int * int
val drop : ?rev:bool -> ?min:int -> ?max:int -> ?sat:(char -> bool) -> (string * int * int) -> string * int * int
val fcut : sep:(string * int * int) -> (string * int * int) -> ((string * int * int) * (string * int * int)) option
val rcut : sep:(string * int * int) -> (string * int * int) -> ((string * int * int) * (string * int * int)) option
val cut : ?rev:bool -> sep:(string * int * int) -> (string * int * int) -> ((string * int * int) * (string * int * int)) option
val add_sub : no_empty:bool -> 'a -> start:'b -> stop:'b -> ('a * 'b * 'b) list -> ('a * 'b * 'b) list
val fcuts : no_empty:bool -> sep:(string * int * int) -> (string * int * int) -> (string * int * int) list
val rcuts : no_empty:bool -> sep:(string * int * int) -> (string * int * int) -> (string * int * int) list
val cuts : ?rev:bool -> ?empty:bool -> sep:(string * int * int) -> (string * int * int) -> (string * int * int) list
val fields : ?empty:bool -> ?is_sep:(char -> bool) -> (string * int * int) -> (string * int * int) list
val ffind : (char -> bool) -> (string * int * int) -> (string * int * int) option
val rfind : (char -> bool) -> (string * int * int) -> (string * int * int) option
val find : ?rev:bool -> (char -> bool) -> (string * int * int) -> (string * int * int) option
val ffind_sub : sub:(string * int * int) -> (string * int * int) -> (string * int * int) option
val rfind_sub : sub:(string * int * int) -> (string * int * int) -> (string * int * int) option
val find_sub : ?rev:bool -> sub:(string * int * int) -> (string * int * int) -> (string * int * int) option
val filter : (char -> bool) -> (string * int * int) -> string * int * int
val filter_map : (char -> char option) -> (string * int * int) -> string * int * int
val map : (char -> char) -> (string * int * int) -> string * int * int
val mapi : (int -> char -> char) -> (string * int * int) -> string * int * int
val fold_left : ('a -> char -> 'a) -> 'a -> (string * int * int) -> 'a
val fold_right : (char -> 'a -> 'a) -> (string * int * int) -> 'a -> 'a
val iter : (char -> 'a) -> (string * int * int) -> unit
val iteri : (int -> char -> 'a) -> (string * int * int) -> unit
val pp : Format.formatter -> (string * int * int) -> unit
val dump : Format.formatter -> (string * int * int) -> unit
val dump_raw : Format.formatter -> (string * int * int) -> unit
val of_char : char -> string * int * int
val to_char : (string * int * int) -> char option
val of_bool : bool -> string * int * int
val to_bool : (string * int * int) -> bool option
val of_int : int -> string * int * int
val to_int : (string * int * int) -> int option
val of_nativeint : nativeint -> string * int * int
val to_nativeint : (string * int * int) -> nativeint option
val of_int32 : int32 -> string * int * int
val to_int32 : (string * int * int) -> int32 option
val of_int64 : int64 -> string * int * int
val to_int64 : (string * int * int) -> int64 option
val of_float : float -> string * int * int
val to_float : (string * int * int) -> float option