package core

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include Core_kernel.Bigbuffer end
include Base.Buffer.S
val sexp_of_t : t -> Base__.Sexplib.Sexp.t
val create : int -> t
val contents : t -> string
val contents_bytes : t -> bytes
val blit : (t, bytes) Base__.Blit_intf.blit
val blito : (t, bytes) Base__.Blit_intf.blito
val unsafe_blit : (t, bytes) Base__.Blit_intf.blit
val sub : (t, bytes) Base__.Blit_intf.sub
val subo : (t, bytes) Base__.Blit_intf.subo
val nth : t -> int -> char
val length : t -> int
val clear : t -> unit
val reset : t -> unit
val add_char : t -> char -> unit
val add_string : t -> string -> unit
val add_substring : t -> string -> pos:int -> len:int -> unit
val add_bytes : t -> bytes -> unit
val add_subbytes : t -> bytes -> pos:int -> len:int -> unit
val add_buffer : t -> t -> unit
val big_contents : t -> Core_kernel.Bigstring.t

Return a copy of the current contents of the buffer as a bigstring. The buffer itself is unchanged.

val volatile_contents : t -> Core_kernel.Bigstring.t

Return the actual underlying bigstring used by this bigbuffer. No copying is involved. To be safe, use and finish with the returned value before calling any other function in this module on the same Bigbuffer.t.

val add_bigstring : t -> Core_kernel.Bigstring.t -> Base.Unit.t

add_bigstring b s appends the bigstring s at the end of the buffer b.

val add_substitute : t -> (Base.String.t -> Base.String.t) -> Base.String.t -> Base.Unit.t

add_substitute b f s appends the string pattern s at the end of the buffer b with substitution. The substitution process looks for variables into the pattern and substitutes each variable name by its value, as obtained by applying the mapping f to the variable name. Inside the string pattern, a variable name immediately follows a non-escaped $ character and is one of the following:

  • a non empty sequence of alphanumeric or _ characters,
  • an arbitrary sequence of characters enclosed by a pair of matching parentheses or curly brackets. An escaped $ character is a $ that immediately follows a backslash character; it then stands for a plain $. Raise Not_found if the closing character of a parenthesized variable cannot be found.
val add_channel : t -> Core__.Import.In_channel.t -> int -> unit

add_channel b ic n reads exactly n character from the input channel ic and stores them at the end of buffer b. Raise End_of_file if the channel contains fewer than n characters.

val output_buffer : Core__.Import.Out_channel.t -> t -> unit

output_buffer oc b writes the current contents of buffer b on the output channel oc.

OCaml

Innovation. Community. Security.