module IOVec: sig
.. end
I/O-vectors for scatter/gather-operations
type 'buf
t = private {
|
buf :'buf ; |
|
pos :int ; |
|
len :int ; |
}
Representation of I/O-vectors.
NOTE: DO NOT CHANGE THE MEMORY LAYOUT OF THIS TYPE!!!
All C-functions in our bindings that handle I/O-vectors depend on it.
val sexp_of_t : ('buf -> Sexplib.Sexp.t) -> 'buf t -> Sexplib.Sexp.t
val t_of_sexp : (Sexplib.Sexp.t -> 'buf) -> Sexplib.Sexp.t -> 'buf t
type 'buf
kind
Kind of I/O-vector buffers
type
bigstring = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
val string_kind : string kind
val bigstring_kind : bigstring kind
val empty : 'buf kind -> 'buf t
empty
the empty I/O-vector.
val of_string : ?pos:int -> ?len:int -> string -> string t
of_string ?pos ?len str
Raises Invalid_argument
if designated substring out of bounds.
Returns an I/O-vector designated by
position pos
and length len
in string str
.
pos
: default = 0
len
: default = String.length str - pos
val of_bigstring : ?pos:int ->
?len:int ->
bigstring -> bigstring t
of_bigstring ?pos ?len bstr
Raises Invalid_argument
if designated substring out of bounds.
Returns an I/O-vector designated by
position pos
and length len
in bigstring bstr
.
pos
: default = 0
len
: default = String.length str - pos
val drop : 'buf t -> int -> 'buf t
drop iovec n
drops n
characters from iovec
.
Raises Failure
if n
is greater than length of iovec
.
Returns resulting
I/O-vector.
val max_iovecs : int