#pragma once #include <luna/Buffer.h> #include <luna/String.h> class StringBuilder { public: Result<void> add(const String& value); Result<void> add(StringView value); Result<void> add(void* value); Result<void> add(long value); Result<void> add(unsigned long value); Result<void> add(char value); Result<void> format(StringView fmt, ...); Result<void> vformat(StringView fmt, va_list ap); Result<String> string(); private: Buffer m_data; };