Module Iobuf.Blit

Blit copies between iobufs and advances neither src nor dst.

type 'rw t_no_seek = ('rwno_seek) t
include Core_kernel.Blit.S_permissions with type 'rw t := 'rw t_no_seek
val blit : ('rw t_no_seek'rw t_no_seek) Base.Blit.blit
val blito : ('rw t_no_seek'rw t_no_seek) Base.Blit.blito
val unsafe_blit : ('rw t_no_seek'rw t_no_seek) Base.Blit.blit
val sub : ('rw t_no_seek'rw t_no_seek) Base.Blit.sub
val subo : ('rw t_no_seek'rw t_no_seek) Base.Blit.subo
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.