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: *Writer
preserve: usize
minimum_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..];
}