Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › Io/ › Reader.zig › writableVectorPosix
writableVectorPosix
Reader.writableVectorPosix
pub fn writableVectorPosix (r : *Reader , buffer : []std .posix .iovec , data : []const []u8 ) Error !struct
File
Code
pub fn writableVectorPosix (r : *Reader , buffer : []std .posix .iovec , data : []const []u8 ) Error !struct { usize , usize } {
var i : usize = 0 ;
var n : usize = 0 ;
if (r .seek == r .end ) {
for (data ) |buf | {
if (buffer .len - i == 0 ) return .{ i , n };
if (buf .len != 0 ) {
buffer [i ] = .{ .base = buf .ptr , .len = buf .len };
i += 1 ;
n += buf .len ;
}
}
const buf = r .buffer ;
if (buf .len != 0 ) {
r .seek = 0 ;
r .end = 0 ;
buffer [i ] = .{ .base = buf .ptr , .len = buf .len };
i += 1 ;
}
} else {
const buf = r .buffer [r .end ..];
buffer [i ] = .{ .base = buf .ptr , .len = buf .len };
i += 1 ;
}
return .{ i , n };
}