Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Bi_outbufSourceOutput buffer
type t = {mutable o_s : bytes;Buffer string
*)mutable o_max_len : int;Same as String.length s
mutable o_len : int;Length of the data present in the buffer = current position in the buffer
*)mutable o_offs : int;Length of data written and flushed out of the buffer. The total number of bytes written to the buffer is therefore o_offs + o_len.
o_init_len : int;Initial length of the buffer
*)o_make_room : t -> int -> unit;make_room buf n must provide space for at least the requested number of bytes n, typically by reallocating a larger buffer string or by flushing the data to a channel. This function is only called when there is not enough space for n bytes.
}Default make_room function: reallocate a larger buffer string.
Alternate make_room function: write to an out_channel.
Create a buffer. The default make_room function is really_extend.
Pair of convenience functions for creating a buffer that flushes data to an out_channel when it is full.
Pair of convenience functions for creating a buffer that flushes data to an object when it is full.
Guarantee that the buffer string has enough room for n additional bytes.
alloc buf n makes room for n bytes and returns the position of the first byte in the buffer string buf.s. It behaves as if n arbitrary bytes were added and it is the user's responsibility to set them to some meaningful values by accessing buf.s directly.
add_subbytes dst src srcpos len copies len bytes from bytes src to buffer dst starting from position srcpos.
add_substring dst src srcpos len copies len bytes from string src to buffer dst starting from position srcpos.
Add a byte to the buffer without checking that there is enough room for it.
Remove any data present in the buffer and in the table holding shared objects.