Module Iobuf.Blit

Blit copies between iobufs and advances neither src nor dst.

Blit.S1_permissions defines the type parameters in reverse order!

include Core_kernel.Blit.S1_permissions with type ('seek, 'rw) t := ('rw'seek) t
val blit : (('rw'seek) t('rw'seek) t) Base.Blit.blit
val blito : (('rw'seek) t('rw'seek) t) Base.Blit.blito
val unsafe_blit : (('rw'seek) t('rw'seek) t) Base.Blit.blit
val sub : (('rw'seek) t('rw'seek) t) Base.Blit.sub
val subo : (('rw'seek) t('rw'seek) t) Base.Blit.subo
val sub : ([> Core_kernel.read ]_) t -> pos:int -> len:int -> (__) t

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

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

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