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.

streamDelimiter

Appends to w contents by reading from the stream until delimiter is found. Does not write the delimiter itself.

Does not discard the delimiter from the Reader.

Returns number of bytes streamed, which may be zero, or error.EndOfStream if the delimiter was not found.

Asserts buffer capacity of at least one. This function performs better with larger buffers.

See also:

Reader.streamDelimiter
pub fn streamDelimiter(r: *Reader, w: *Writer, delimiter: u8) StreamError!usize

File

lib/std/Io/Reader.zig:956

Code

pub fn streamDelimiter(r: *Reader, w: *Writer, delimiter: u8) StreamError!usize {
    const n = streamDelimiterLimit(r, w, delimiter, .unlimited) catch |err| switch (err) {
        error.StreamTooLong => unreachable, // unlimited is passed
        else => |e| return e,
    };
    if (r.seek == r.end) return error.EndOfStream;
    return n;
}