Function alignBuffer [src]

Prototype

pub fn alignBuffer( w: *Writer, buffer: []const u8, width: usize, alignment: std.fmt.Alignment, fill: u8, ) Error!void

Parameters

w: *Writerbuffer: []const u8width: usizealignment: std.fmt.Alignmentfill: u8

Possible Errors

WriteFailed

See the Writer implementation for detailed diagnostics.

Source

pub fn alignBuffer( w: *Writer, buffer: []const u8, width: usize, alignment: std.fmt.Alignment, fill: u8, ) Error!void { const padding = if (buffer.len < width) width - buffer.len else 0; if (padding == 0) { @branchHint(.likely); return w.writeAll(buffer); } switch (alignment) { .left => { try w.writeAll(buffer); try w.splatByteAll(fill, padding); }, .center => { const left_padding = padding / 2; const right_padding = (padding + 1) / 2; try w.splatByteAll(fill, left_padding); try w.writeAll(buffer); try w.splatByteAll(fill, right_padding); }, .right => { try w.splatByteAll(fill, padding); try w.writeAll(buffer); }, } }