str/buf: Add allocation reducing string buffer

Enables constructing strings with minimal allocations, and follows best
practices of using stack optimized for storing smaller string buffers.

Change-Id: If3b9e0d9e14147aadf282fe5ddeea8f7f9ef5837
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/meson.build b/src/meson.build
index 47fcd33..a064f14 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -57,6 +57,7 @@
   'pinned.cpp',
   'raw.cpp',
   'signal.cpp',
+  'str/buf.cpp',
   'str/cat.cpp',
   'str/cexpr.cpp',
   'str/maps.cpp',
diff --git a/src/str/buf.cpp b/src/str/buf.cpp
new file mode 100644
index 0000000..b0eb177
--- /dev/null
+++ b/src/str/buf.cpp
@@ -0,0 +1,9 @@
+#include <stdplus/str/buf.hpp>
+
+namespace stdplus
+{
+
+template class BasicStrBuf<char>;
+template class BasicStrBuf<wchar_t>;
+
+} // namespace stdplus