pub fn writableSliceGreedyPreserve(w: *Writer, preserve: usize, minimum_len: usize) Error![]u8 w: *Writerpreserve: usizeminimum_len: usizeWriteFailedSee the Writer implementation for detailed diagnostics.
485
486
487
488
489
490
491
492
493pub 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..];
}
Asserts the provided buffer has total capacity enough for
minimum_lenandpreservecombined.Does not
advancethe buffer end position.When draining the buffer, ensures that at least
preservebytes remain buffered.If
preserveis zero, this is equivalent towritableSliceGreedy.