40 OStringStream() =
default;
42 void reserve(
size_t size)
44 buffer_.reserve(size);
48 OStringStream &operator<<(T &&value)
52 buffer_.append(std::to_string(std::forward<T>(value)));
58 ss << std::forward<T>(value);
59 buffer_.append(ss.str());
65 OStringStream &operator<<(
const char (&buf)[N])
67 buffer_.append(buf, N - 1);
71 OStringStream &operator<<(
const std::string_view &str)
73 buffer_.append(str.data(), str.length());
77 OStringStream &operator<<(std::string_view &&str)
79 buffer_.append(str.data(), str.length());
83 OStringStream &operator<<(
const std::string &str)
89 OStringStream &operator<<(std::string &&str)
91 buffer_.append(std::move(str));
95 OStringStream &operator<<(
const double &d)
99 buffer_.append(ss.str());
103 OStringStream &operator<<(
const float &f)
105 std::stringstream ss;
107 buffer_.append(ss.str());
111 OStringStream &operator<<(
double &&d)
113 std::stringstream ss;
115 buffer_.append(ss.str());
119 OStringStream &operator<<(
float &&f)
121 std::stringstream ss;
123 buffer_.append(ss.str());
132 const std::string &str()
const