Module type Make_substring.S


module type S = Substring_intf.S

type base 
type t 
val base : t -> base
val pos : t -> int
val length : t -> int
val create : base -> pos:int -> len:int -> t
create base ~pos ~len creates a a substring of the base sequence of length len starting at position pos, i.e.

base.pos, base.pos + 1, ... base.pos + len - 1

It is required that: 0 <= pos 0 <= len pos + len <= length base

It does not copy the characters.

val blit_to_string : t -> dst:string -> dst_pos:int -> unit
val blit_to_bigstring : t -> dst:Substring_intf.bigstring -> dst_pos:int -> unit
val blit_from_string : t -> src:string -> src_pos:int -> len:int -> unit
val blit_from_bigstring : t ->
src:Substring_intf.bigstring -> src_pos:int -> len:int -> unit
val concat : t list -> t
val concat_string : t list -> string
val concat_bigstring : t list -> Substring_intf.bigstring
val of_bigstring : Substring_intf.bigstring -> t
val of_string : string -> t
val to_bigstring : t -> Substring_intf.bigstring
val to_string : t -> string
val drop_prefix : t -> int -> t
val drop_suffix : t -> int -> t
val prefix : t -> int -> t
val suffix : t -> int -> t