sig
type t = Buffer.t
val create : int -> BatBuffer.t
val contents : BatBuffer.t -> string
val to_bytes : BatBuffer.t -> Bytes.t
val sub : BatBuffer.t -> int -> int -> string
val blit : BatBuffer.t -> int -> Bytes.t -> int -> int -> unit
val nth : BatBuffer.t -> int -> char
val length : BatBuffer.t -> int
val clear : BatBuffer.t -> unit
val reset : BatBuffer.t -> unit
val add_char : BatBuffer.t -> char -> unit
val add_string : BatBuffer.t -> string -> unit
val add_bytes : BatBuffer.t -> Bytes.t -> unit
val add_substring : BatBuffer.t -> string -> int -> int -> unit
val add_subbytes : BatBuffer.t -> Bytes.t -> int -> int -> unit
val add_substitute : BatBuffer.t -> (string -> string) -> string -> unit
val add_buffer : BatBuffer.t -> BatBuffer.t -> unit
val add_input : BatBuffer.t -> BatInnerIO.input -> int -> unit
val add_channel : BatBuffer.t -> BatInnerIO.input -> int -> unit
val output_buffer : BatBuffer.t -> string BatInnerIO.output
val truncate : BatBuffer.t -> int -> unit
val enum : BatBuffer.t -> char BatEnum.t
val of_enum : char BatEnum.t -> BatBuffer.t
val print : 'a BatInnerIO.output -> BatBuffer.t -> unit
end