Module fmt/writer

fmt/writer

Chainable string builder for composing formatted output.

Example

{ Writer, Alignment } :: import "std/fmt/writer";

w := Writer.new()
  .write_str("hello ")
  .write_str("world")
  .write_byte(u8(33));
s := w.to_string();  // "hello world!"

Types

Alignment enum
Alignment

Text alignment for padded output.

Variants

VariantFieldsDescription
Left
Right
Center
Writer object
Writer

Chainable string builder backed by ArrayList(u8). Useful for constructing formatted strings without intermediate allocations.

Fields

NameTypeDescription
bufArrayList(u8)
impl(Writer, ...)
new : (Writer) fn() -> Writer

Create a new empty Writer.

Returns: Writer

with_capacity : (Writer) fn(cap : usize) -> Writer

Create a Writer pre-allocated with the given byte capacity.

Parameters

NameTypeNotes
capusize

Returns: Writer

write_str : (Writer) fn(self : Writer, s : str) -> Writer

Append a str literal (byte slice) to the Writer.

Parameters

NameTypeNotes
selfWriter
sstr

Returns: Writer

write_string : (Writer) fn(self : Writer, s : String) -> Writer

Append a String (owned UTF-8) to the Writer.

Parameters

NameTypeNotes
selfWriter
sString

Returns: Writer

write_byte : (Writer) fn(self : Writer, b : u8) -> Writer

Append a single byte to the Writer.

Parameters

NameTypeNotes
selfWriter
bu8

Returns: Writer

write_bytes : (Writer) fn(self : Writer, data : ArrayList(u8)) -> Writer

Append an ArrayList(u8) of bytes to the Writer.

Parameters

NameTypeNotes
selfWriter
dataArrayList(u8)

Returns: Writer

write_rune : (Writer) fn(self : Writer, r : rune) -> Writer

Append a Unicode code point encoded as UTF-8.

Parameters

NameTypeNotes
selfWriter
rrune

Returns: Writer

write_i64 : (Writer) fn(self : Writer, n : i64) -> Writer

Append a signed 64-bit integer in decimal.

Parameters

NameTypeNotes
selfWriter
ni64

Returns: Writer

write_u64 : (Writer) fn(self : Writer, n : u64) -> Writer

Append an unsigned 64-bit integer in decimal.

Parameters

NameTypeNotes
selfWriter
nu64

Returns: Writer

write_f64 : (Writer) fn(self : Writer, n : f64, precision : i32) -> Writer

Append a 64-bit float with the given number of decimal places.

Parameters

NameTypeNotes
selfWriter
nf64
precisioni32

Returns: Writer

write_bool : (Writer) fn(self : Writer, b : bool) -> Writer

Append a bool as "true" or "false".

Parameters

NameTypeNotes
selfWriter
bbool

Returns: Writer

write_hex : (Writer) fn(self : Writer, n : u64) -> Writer

Append an unsigned 64-bit integer in lowercase hexadecimal.

Parameters

NameTypeNotes
selfWriter
nu64

Returns: Writer

write_octal : (Writer) fn(self : Writer, n : u64) -> Writer

Append an unsigned 64-bit integer in octal.

Parameters

NameTypeNotes
selfWriter
nu64

Returns: Writer

write_binary : (Writer) fn(self : Writer, n : u64) -> Writer

Append an unsigned 64-bit integer in binary (no stdlib support — manual).

Parameters

NameTypeNotes
selfWriter
nu64

Returns: Writer

write_padded : (Writer) fn(self : Writer, s : str, width : usize, pad : rune, align : Alignment) -> Writer

Append a str padded to width using the given pad rune and alignment.

Parameters

NameTypeNotes
selfWriter
sstr
widthusize
padrune
alignAlignment

Returns: Writer

to_string : (Writer) fn(self : Writer) -> String

Consume the Writer and return an owned String.

Parameters

NameTypeNotes
selfWriter

Returns: String

len : (Writer) fn(self : Writer) -> usize

Return the current byte length of the buffer.

Parameters

NameTypeNotes
selfWriter

Returns: usize