Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
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 standard library. Public Function

writableSliceGreedyPreserve

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

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.

Params

  • w: *Writer
  • preserve: usize
  • minimum_len: usize

Errors

WriteFailed

See the Writer implementation for detailed diagnostics.

File

Io/Writer.zig:485
485
486
487
488
489
490
491
492
493
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 w.vtable.rebase(w, preserve, minimum_len);
    assert(w.buffer.len >= preserve + minimum_len);
    return w.buffer[w.end..];
}