A substring is a contiguous set of characters within a string. Creating a substring does not copy. Therefore modifying the string also modifies the substring.
include Container.S0 with type t := t with type elt := Core_kernel__.Import.charval length : t ‑> intval is_empty : t ‑> booliter must allow exceptions raised in f to escape, terminating the iteration
cleanly. The same holds for all functions below taking an f.
val fold_result : t ‑> init:'accum ‑> f:('accum ‑> elt ‑> ('accum, 'e) Base.Result.t) ‑> ('accum, 'e) Base.Result.tfold_result t ~init ~f is a short-circuiting version of fold that runs in the
Result monad. If f returns an Error _, that value is returned without any
additional invocations of f.
val fold_until : t ‑> init:'accum ‑> f:('accum ‑> elt ‑> ('accum, 'final) Base__.Container_intf.Continue_or_stop.t) ‑> finish:('accum ‑> 'final) ‑> 'finalfold_until t ~init ~f ~finish is a short-circuiting version of fold. If f
returns Stop _ the computation ceases and results in that value. If f returns
Continue _, the fold will proceed. If f never returns Stop _, the final result
is computed by finish.
Returns true if and only if there exists an element for which the provided
function evaluates to true. This is a short-circuiting operation.
Returns true if and only if the provided function evaluates to true for all
elements. This is a short-circuiting operation.
val sum : (module Base.Commutative_group.S with type t = 'sum) ‑> t ‑> f:(elt ‑> 'sum) ‑> 'sumReturns the sum of f i for all i in the container.
val pos : t ‑> Core_kernel__.Import.intpos refers to the position in the base string, not any other substring that this
substring was generated from.
val get : t ‑> Core_kernel__.Import.int ‑> Core_kernel__.Import.charPer String.get and Bigstring.get, this raises an exception if the index is out
of bounds.
val create : ?pos:Core_kernel__.Import.int ‑> ?len:Core_kernel__.Import.int ‑> base ‑> tcreate ?pos ?len base creates a substring of the base sequence of
length len starting at position pos, i.e.,
base.[pos], base.[pos + 1], ... base.[pos + len - 1]An exception is raised if any of those indices into base is invalid.
It does not copy the characters, so mutating base mutates t and vice versa.
val sub : ?pos:Core_kernel__.Import.int ‑> ?len:Core_kernel__.Import.int ‑> t ‑> tFor copying characters from a substring to and from both strings and substrings.
val blit_to_string : t ‑> dst:Core_kernel__.Import.bytes ‑> dst_pos:Core_kernel__.Import.int ‑> Core_kernel__.Import.unitval blit_to_bytes : t ‑> dst:Core_kernel__.Import.bytes ‑> dst_pos:Core_kernel__.Import.int ‑> Core_kernel__.Import.unitval blit_to_bigstring : t ‑> dst:Bigstring.t ‑> dst_pos:Core_kernel__.Import.int ‑> Core_kernel__.Import.unitval blit_from_string : t ‑> src:Core_kernel__.Import.string ‑> src_pos:Core_kernel__.Import.int ‑> len:Core_kernel__.Import.int ‑> Core_kernel__.Import.unitval blit_from_bigstring : t ‑> src:Bigstring.t ‑> src_pos:Core_kernel__.Import.int ‑> len:Core_kernel__.Import.int ‑> Core_kernel__.Import.unitThese functions always copy.
val concat : t Core_kernel__.Import.list ‑> tval concat_string : t Core_kernel__.Import.list ‑> Core_kernel__.Import.stringval concat_bigstring : t Core_kernel__.Import.list ‑> Bigstring.tThese functions always copy.
val to_string : t ‑> Core_kernel__.Import.stringval to_bigstring : t ‑> Bigstring.tThese functions always copy. Use create if you want sharing.
val of_string : Core_kernel__.Import.string ‑> tval of_bigstring : Bigstring.t ‑> tThe result of these functions share data with their input, but don't mutate the underlying string.
val drop_prefix : t ‑> Core_kernel__.Import.int ‑> tval drop_suffix : t ‑> Core_kernel__.Import.int ‑> tval prefix : t ‑> Core_kernel__.Import.int ‑> tval suffix : t ‑> Core_kernel__.Import.int ‑> t