Function drain [src]
Prototype
pub fn drain(w: *Writer, data: []const []const u8, splat: usize) Error!usize
Parameters
w: *Writer
data: []const []const u8
splat: usize
Possible Errors
See the Writer
implementation for detailed diagnostics.
Source
pub fn drain(w: *Writer, data: []const []const u8, splat: usize) Error!usize {
const d: *Discarding = @alignCast(@fieldParentPtr("writer", w));
const slice = data[0 .. data.len - 1];
const pattern = data[slice.len];
var written: usize = pattern.len * splat;
for (slice) |bytes| written += bytes.len;
d.count += w.end + written;
w.end = 0;
return written;
}