stringbuffer

A stack based string buffer that grows into the heap if needed.


Keywords
library, data, vibed, encoding, optimized_mem, dlang, stack, string, stringbuffer
License
LGPL-3.0
Install
dub fetch stringbuffer --version 1.1.2

Documentation

StringBuffer

alt text

A simple stack based StringBuffer that overflows into the heap and releases all used memory on destruction.

By default the StringBuffer can store 512 chars on the stack. If a different number of chars on the stack is required create an

alias MyStringBuffer = StringBufferImpl!1337;

like this.

The two important methods of the StringBuffer are writer and getData. The method writer returns a OutputRange that can be used with formattedWrite from std.format; The method getData returns a string of the stored data. No reference to the returned data from writer and getData must be used after the associated StringBuffer is destructed.

Example

unittest {
	import std.format : formattedWrite;

	StringBuffer buf;
	auto w = buf.writer();
	formattedWrite(w, "foobar %d", 10);
	assert(buf.getData() == "foobar 10");
}