Basic module

append

procedure3 overloadsSource

Appends length bytes at s to builder. A negative length marks the builder as failed.

append :: (builder: *String_Builder, s: *u8, length: s64)

Parameters

builder: *String_Builder
s: *u8
length: s64
Example↗
builder: String_Builder;
defer free_buffers(*builder);
data := u8.[1, 2, 3];
append(*builder, data.data, 3);
assert(builder_string_length(*builder) == 3);
append :: (builder: *String_Builder, s: string)

Appends the string s to builder.

Parameters

builder: *String_Builder
s: string
Example↗
builder: String_Builder;
defer free_buffers(*builder);
append(*builder, "hello, ");
append(*builder, "world");
text := builder_to_string(*builder);
defer free(text);
assert(text == "hello, world");
append :: (builder: *String_Builder, byte: u8)

Appends one byte to builder.

Parameters

builder: *String_Builder
byte: u8
Example↗
builder: String_Builder;
defer free_buffers(*builder);
append(*builder, #char "A");
append(*builder, #char "B");
text := builder_to_string(*builder);
defer free(text);
assert(text == "AB");

See also