diff --git a/include/c11log/details/fast_oss.h b/include/c11log/details/fast_oss.h index c16e37c1..0781bf63 100644 --- a/include/c11log/details/fast_oss.h +++ b/include/c11log/details/fast_oss.h @@ -33,7 +33,7 @@ public: other.clear(); } - stack_devicebuf& operator=(stack_devicebuf&& other) + stack_devicebuf& operator=(stack_devicebuf other) { std::swap(_stackbuf, other._stackbuf); return *this; @@ -90,7 +90,7 @@ public: } - fast_oss& operator=(fast_oss&& other) + fast_oss& operator=(fast_oss other) { swap(*this, other); return *this; @@ -102,8 +102,6 @@ public: swap(first._dev, second._dev); } - - std::string str() { auto& buffer = _dev.buf(); @@ -136,24 +134,32 @@ public: } // put int and pad with zeroes if smalled than min_width - void write_int(int n, int padding) + fast_oss& operator<<(char c) + { + putc(c); + return *this; + } + + /// put int and pad with zeroes if smalled than min_width/// + + void put_int(int n, int padding) { std::string s; details::fast_itostr(n, s, padding); _dev.sputn(s.data(), s.size()); } - void write_data(const char* p, std::size_t size) + void put_data(const char* p, std::size_t size) { _dev.sputn(p, size); } - void write_str(const std::string& s) + void put_str(const std::string& s) { _dev.sputn(s.data(), s.size()); } - void write_fast_oss(const fast_oss& oss) + void put_fast_oss(const fast_oss& oss) { auto& buffer = oss.buf(); _dev.sputn(buffer.data(), buffer.size());