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.

write

Transfers bytes to the stream, calling drain at most once.

Returns the number of bytes transferred, which may be less than bytes.len, including zero.

A return value less than bytes.len does not indicate failure; a subsequent call may return nonzero, or fail with error.WriteFailed.

See also:

Writer.write
pub fn write(w: *Writer, bytes: []const u8) Error!usize

File

lib/std/Io/Writer.zig:533

Code

pub fn write(w: *Writer, bytes: []const u8) Error!usize {
    if (w.end + bytes.len <= w.buffer.len) {
        @branchHint(.likely);
        @memcpy(w.buffer[w.end..][0..bytes.len], bytes);
        w.end += bytes.len;
        return bytes.len;
    }
    return w.vtable.drain(w, &.{bytes}, 1);
}