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 : (([> Core_kernel.Perms.Export.read ], 'a) t, ([> Core_kernel.Perms.Export.write ], 'a) t) Base.Blit.blit
val blito : (([> Core_kernel.Perms.Export.read ], 'a) t, ([> Core_kernel.Perms.Export.write ], 'a) t) Base.Blit.blito
val unsafe_blit : (([> Core_kernel.Perms.Export.read ], 'a) t, ([> Core_kernel.Perms.Export.write ], 'a) t) Base.Blit.blit
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.