`sig
type t = {
mutable o_s : string;
mutable o_max_len : int;
mutable o_len : int;
mutable o_offs : int;
o_init_len : int;
o_make_room : Bi_outbuf.t -> int -> unit;
mutable o_shared : Bi_share.Wr.tbl;
o_shared_init_len : int;
}
val really_extend : Bi_outbuf.t -> int -> unit
val flush_to_channel : Pervasives.out_channel -> Bi_outbuf.t -> int -> unit
val create :
?make_room:(Bi_outbuf.t -> int -> unit) ->
?shrlen:int -> int -> Bi_outbuf.t
val contents : Bi_outbuf.t -> string
val create_channel_writer :
?len:int -> ?shrlen:int -> Pervasives.out_channel -> Bi_outbuf.t
val flush_channel_writer : Bi_outbuf.t -> unit
val create_output_writer :
?len:int ->
?shrlen:int ->
< output : string -> int -> int -> int; .. > -> Bi_outbuf.t
val flush_output_writer : Bi_outbuf.t -> unit
val extend : Bi_outbuf.t -> int -> unit
val alloc : Bi_outbuf.t -> int -> int
val add_string : Bi_outbuf.t -> string -> unit
val add_substring : Bi_outbuf.t -> string -> int -> int -> unit
val add_char : Bi_outbuf.t -> char -> unit
val add_char2 : Bi_outbuf.t -> char -> char -> unit
val add_char4 : Bi_outbuf.t -> char -> char -> char -> char -> unit
val unsafe_add_char : Bi_outbuf.t -> char -> unit
val clear : Bi_outbuf.t -> unit
val reset : Bi_outbuf.t -> unit
end`