Module Internals.Line_bufferSource

Sourcetype t

A line buffer is a variant of Stdlib.Buffer that supports skipping some section of the underlying bytestring when doing a write pass.

Sourceval create : size:int -> t

Create a line buffer with the given initial size.

Sourceval with_ppf : t -> (Format.formatter -> 'a) -> 'a

with_ppf buf f gives a view of buf as a formatter to f (and then flushes the formatter to buf).

Sourceval add_char : t -> char -> unit
Sourceval add_string : t -> string -> unit
Sourceval add_substring : t -> string -> off:int -> len:int -> unit
Sourceval add_line_buffer : dst:t -> src:t -> unit
Sourceval lift_write : len:int -> write:('a -> into:bytes -> pos:int -> unit) -> (t -> 'a -> unit) Progress_engine__.Stdlib_ext.Staged.t
Sourceval contents : t -> [ `Clean of string | `Dirty of string ]

Reset the write head to the start of the buffer and return a copy of the intervening contents.

Sourceval reset : t -> unit
Sourcetype mark
Sourceval current_position : t -> mark

Get a mark of the current write head in the buffer.

Sourcemodule Span : sig ... end
Sourceval skip : t -> Span.t -> unit

Advance over a given span in the buffer.