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.

appendExact

Transfers exactly n bytes from the reader to the ArrayList.

See also:

Reader.appendExact
pub fn appendExact(
    r: *Reader,
    gpa: Allocator,
    list: *ArrayList(u8),
    n: usize,
) AppendExactError!void

File

lib/std/Io/Reader.zig:326

Code

pub fn appendExact(
    r: *Reader,
    gpa: Allocator,
    list: *ArrayList(u8),
    n: usize,
) AppendExactError!void {
    try list.ensureUnusedCapacity(gpa, n);
    var a = std.Io.Writer.Allocating.fromArrayList(gpa, list);
    defer list.* = a.toArrayList();
    streamExact(r, &a.writer, n) catch |err| switch (err) {
        error.ReadFailed, error.EndOfStream => |e| return e,
        error.WriteFailed => unreachable,
    };
}