Function writableSliceGreedyPreserve [src]
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.
Prototype
pub fn writableSliceGreedyPreserve(w: *Writer, preserve: usize, minimum_len: usize) Error![]u8 Parameters
w: *Writerpreserve: usizeminimum_len: usize Possible Errors
See the Writer implementation for detailed diagnostics.
Source
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..];
}