Module Email_message__.Bigstring_shared

type t = private Core.Bigstring.t

Immutable sequences of bytes which can be windowed efficiently.

include sig ... end
val sexp_of_t : t ‑> Base.Sexp.t
val compare : t ‑> t ‑> int
val hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.state
val hash : t ‑> Base.Hash.hash_value
val of_bigstring : Core.Bigstring.t ‑> t
val to_bigstring : t ‑> Core.Bigstring.t
include Core.Stringable.S with type t := t
type t
val of_string : string ‑> t
val to_string : t ‑> string
include Email_message__.String_monoidable.S with type t := t
type t
val to_string_monoid : t ‑> Email_message.String_monoid.t
val to_lexbuf : t ‑> Lexing.lexbuf
val empty : t

Empty, immutable Bigstring

val length : t ‑> int
val sub : ?⁠pos:int ‑> ?⁠len:int ‑> t ‑> t
val foldi : t ‑> init:'b ‑> f:(int ‑> 'b ‑> char ‑> 'b) ‑> 'b
val lines_seq : ?⁠include_empty_last_line:unit ‑> t ‑> t Core.Sequence.t

include_empty_last_line determines whether a string that ends in "\n" has an empty string as the last line.

iter_lines and split_lines do not include an empty last line.

val iter_lines : t ‑> f:(t ‑> unit) ‑> unit
val split_lines : t ‑> t list
val of_bigbuffer_volatile : Core.Bigbuffer.t ‑> t

Gets a bigstring from a bigbuffer with minimal memory overhead.

val of_string_monoid : Email_message.String_monoid.t ‑> t
val substr_index : ?⁠pos:int ‑> t ‑> pattern:t ‑> int option
module Stable : sig ... end