module BatBuffer:Extensible string buffers.sig..end
This module implements string buffers that automatically expand as necessary. It provides accumulative concatenation of strings in quasi-linear time (instead of quadratic time when strings are concatenated pairwise).
This module extends Stdlib's
Buffer
module, go there for documentation on the rest of the functions
and types.
Author(s): Pierre Weis (Base module), Xavier Leroy (Base module), David Teller, Dawid Toton
val enum : Buffer.t -> char BatEnum.t
Contents of the enumeration is unspecified if the buffer is modified after
the enumeration is returned.
val of_enum : char BatEnum.t -> Buffer.tval blit : Buffer.t -> int -> string -> int -> int -> unitBuffer.blit b srcoff dst dstoff len copies len characters from
the current contents of the buffer b starting at offset off,
starting at character number srcoff, to string dst, starting at
character number dstoff.Invalid_argument if srcoff and len do not designate a
valid substring of the buffer, or if dstoff and len do not
designate a valid substring of dst.val add_input : Buffer.t -> BatInnerIO.input -> int -> unitadd_input b ic n reads exactly n character from the input ic
and stores them at the end of buffer b. Raise End_of_file if
the channel contains fewer than n characters.val add_channel : Buffer.t -> BatInnerIO.input -> int -> unitval output_buffer : 'a BatInnerIO.output -> Buffer.t -> unitoutput_buffer oc b writes the current contents of buffer b
on the output channel oc.val print : 'a BatInnerIO.output -> Buffer.t -> unit