38#ifndef DRAIN_STRING_BUILDER
39#define DRAIN_STRING_BUILDER
52#include "StreamBuilder.h"
71 template<
typename ... TT>
78 template<
typename ... TT>
79 StringBuilder & create(
const TT &... args){
85 template<
typename ... TT>
87 streamBuilder.create(args...);
89 std::stringbuf *buf = streamBuilder.rdbuf();
90 if (buf->in_avail() > 0){
92 while ((c = buf->sbumpc()) != EOF){
94 this->push_back(
static_cast<char>(c));
102 const std::string &
str()
const {
114std::ostream & operator<<(std::ostream &ostr,
const StringBuilder<SEP> & strb){
115 return ostr << strb.str();
Definition StreamBuilder.h:54
Definition StringBuilder.h:58
StringBuilder(const std::string &arg="")
Faster short-cut for single-arg initialization.
Definition StringBuilder.h:63
StringBuilder(const StringBuilder< SEP > &sb)
Faster short-cut for single-arg initialization.
Definition StringBuilder.h:67
const std::string & str() const
For explicit string cast, esp. for (skipping) template deduction.
Definition StringBuilder.h:102