Module Iobuf.Blit

Blit copies between iobufs and advances neither src nor dst.

type 'rw t_no_seek = ('rwno_seek) t
val sub : ([> Core__.Import.read ]no_seek) t -> pos:int -> len:int -> (__) t

Override types of sub and subo to allow return type to have seek as needed.

val subo : ?⁠pos:int -> ?⁠len:int -> ([> Core__.Import.read ]no_seek) t -> (__) t
val blit_maximal : src:[> Core__.Import.read ] t_no_seek -> ?⁠src_pos:int -> dst:[> Core__.Import.write ] t_no_seek -> ?⁠dst_pos:int -> unit -> int

Copies as much as possible (returning the number of bytes copied) without running out of either buffer's window.