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 : ?pos:int -> ?len:int -> base -> t
create ?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 * * 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:Bigstring.t -> dst_pos:int -> unit
val blit_from_string : t -> src:string -> src_pos:int -> len:int -> unit
val blit_from_bigstring : t -> src:Bigstring.t -> src_pos:int -> len:int -> unit
val concat : t list -> t
val concat_string : t list -> string
val concat_bigstring : t list -> Bigstring.t
val of_bigstring : Bigstring.t -> t
val of_string : string -> t
val to_bigstring : t -> Bigstring.t
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