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 : (('a, [> Core_kernel.Perms.Export.read ]) t, ('a, [> Core_kernel.Perms.Export.write ]) t) Base.Blit.blit
val blito : (('a, [> Core_kernel.Perms.Export.read ]) t, ('a, [> Core_kernel.Perms.Export.write ]) t) Base.Blit.blito
val unsafe_blit : (('a, [> Core_kernel.Perms.Export.read ]) t, ('a, [> Core_kernel.Perms.Export.write ]) t) Base.Blit.blit
val sub : (('a, [> Core_kernel.Perms.Export.read ]) t, ('a, [< _ Core_kernel.Perms.Export.perms ]) t) Base.Blit.sub
val subo : (('a, [> Core_kernel.Perms.Export.read ]) t, ('a, [< _ Core_kernel.Perms.Export.perms ]) t) Base.Blit.subo
val sub : ([> Core_kernel.read ], _) t -> pos:int -> len:int -> (_, _) t
Override types of
sub
andsubo
to allow return type to haveseek/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.