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.

writableSliceGreedyPreserve

Asserts the provided buffer has total capacity enough for minimum_len and preserve combined.

Does not advance the buffer end position.

When draining the buffer, ensures that at least preserve bytes remain buffered.

If preserve is zero, this is equivalent to writableSliceGreedy.

Writer.writableSliceGreedyPreserve
pub fn writableSliceGreedyPreserve(w: *Writer, preserve: usize, minimum_len: usize) Error![]u8

File

lib/std/Io/Writer.zig:410

Code

pub fn writableSliceGreedyPreserve(w: *Writer, preserve: usize, minimum_len: usize) Error![]u8 {
    if (w.buffer.len - w.end >= minimum_len) {
        @branchHint(.likely);
        return w.buffer[w.end..];
    }
    try rebase(w, preserve, minimum_len);
    assert(w.buffer.len >= preserve + minimum_len);
    return w.buffer[w.end..];
}