Skip to content

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

License

Notifications You must be signed in to change notification settings

burner/StringBuffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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");
}

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages