diff --git a/include/object/stdbuf.h b/include/object/stdbuf.h
new file mode 100644
index 0000000000000000000000000000000000000000..db3062111faa2449c5b315c24d3d6cae7a416b58
--- /dev/null
+++ b/include/object/stdbuf.h
@@ -0,0 +1,20 @@
+#ifndef STDBUF_H
+#define STDBUF_H
+
+#include "object/outputstream.h"
+
+template <class T = OutputStream>
+class BufferOutput : public T {
+	private:
+		BufferOutput(const BufferOutput &copy);
+		char *buffer;
+
+	public:
+		BufferOutput(char *target) { buffer = target; }
+		virtual void put(char c) {
+			*buffer = c;
+			buffer++;
+		}
+};
+
+#endif