include Base.Buffer.S
val sexp_of_t : t -> Base.Sexp.tval create : int -> tcreate nreturns a fresh buffer, initially empty. Thenparameter is the initial size of the internal storage medium that holds the buffer contents. That storage is automatically reallocated when more thanncharacters are stored in the buffer, but shrinks back toncharacters whenresetis called.For best performance,
nshould be of the same order of magnitude as the number of characters that are expected to be stored in the buffer (for instance, 80 for a buffer that holds one output line). Nothing bad will happen if the buffer grows beyond that limit, however. In doubt, taken = 16for instance.
val contents : t -> stringReturn a copy of the current contents of the buffer. The buffer itself is unchanged.
val contents_bytes : t -> bytes
include Base.Blit.S_distinct with type src := t with type dst := bytes
val blit : src:t -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unitval blito : src:t -> ?src_pos:int -> ?src_len:int -> dst:bytes -> ?dst_pos:int -> unit -> unitval unsafe_blit : src:t -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int -> unitval sub : t -> pos:int -> len:int -> bytesval subo : ?pos:int -> ?len:int -> t -> bytes
module To_string : Base.Blit.S_to_string with type t := tval nth : t -> int -> charGets the (zero-based) n-th character of the buffer. Raises
Invalid_argumentif index out of bounds.
val length : t -> intReturns the number of characters currently contained in the buffer.
val clear : t -> unitEmpties the buffer.
val reset : t -> unitEmpties the buffer and deallocates the internal storage holding the buffer contents, replacing it with the initial internal storage of length
nthat was allocated bycreate n. For long-lived buffers that may have grown a lot,resetallows faster reclamation of the space used by the buffer.
val add_char : t -> char -> unitadd_char b cappends the charactercat the end of the bufferb.
val add_string : t -> string -> unitadd_string b sappends the stringsat the end of the bufferb.
val add_substring : t -> string -> pos:int -> len:int -> unitadd_substring b s pos lentakeslencharacters from offsetposin stringsand appends them at the end of the bufferb.
val add_bytes : t -> bytes -> unitadd_bytes b sappends the bytessat the end of the bufferb.
val add_subbytes : t -> bytes -> pos:int -> len:int -> unitadd_subbytes b s pos lentakeslencharacters from offsetposin bytessand appends them at the end of the bufferb.
val big_contents : t -> Bigstring.tReturn a copy of the current contents of the buffer as a bigstring. The buffer itself is unchanged.
val volatile_contents : t -> Bigstring.tReturn 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 -> Bigstring.t -> Base.Unit.tadd_bigstring b sappends the bigstringsat the end of the bufferb.
val add_bin_prot : t -> 'a Bin_prot.Type_class.writer -> 'a -> Base.Unit.tadd_bin_prot b writer xappends the bin-protted representation ofxat the end of the bufferb.
val add_substitute : t -> (Base.String.t -> Base.String.t) -> Base.String.t -> Base.Unit.tadd_substitute b f sappends the string patternsat the end of the bufferbwith substitution. The substitution process looks for variables into the pattern and substitutes each variable name by its value, as obtained by applying the mappingfto 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$. RaiseCaml.Not_foundorNot_found_sif the closing character of a parenthesized variable cannot be found.- a non empty sequence of alphanumeric or
module Format : sig ... endmodule Printf : sig ... end