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.

allocRemaining

Transfers all bytes from the current position to the end of the stream, up to limit, returning them as a caller-owned allocated slice.

If limit would be exceeded, error.StreamTooLong is returned instead. In such case, the next byte that would be read will be the first one to exceed limit, and all preceeding bytes have been discarded.

See also:

Reader.allocRemaining
pub fn allocRemaining(r: *Reader, gpa: Allocator, limit: Limit) LimitedAllocError![]u8

File

lib/std/Io/Reader.zig:296

Code

pub fn allocRemaining(r: *Reader, gpa: Allocator, limit: Limit) LimitedAllocError![]u8 {
    var buffer: ArrayList(u8) = .empty;
    defer buffer.deinit(gpa);
    try appendRemaining(r, gpa, &buffer, limit);
    return buffer.toOwnedSlice(gpa);
}