pass by ref bugfix
This commit is contained in:
		
							parent
							
								
									21065ec036
								
							
						
					
					
						commit
						b36a803469
					
				| @ -7,7 +7,7 @@ | |||||||
| #include <iomanip> | #include <iomanip> | ||||||
| #include "fast_istostr.h" | #include "fast_istostr.h" | ||||||
| #include "stack_buf.h" | #include "stack_buf.h" | ||||||
| 
 | #include<iostream> | ||||||
| 
 | 
 | ||||||
| namespace c11log | namespace c11log | ||||||
| { | { | ||||||
| @ -81,8 +81,6 @@ public: | |||||||
|     fast_oss() :std::ostream(&_dev) {} |     fast_oss() :std::ostream(&_dev) {} | ||||||
|     ~fast_oss() = default; |     ~fast_oss() = default; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     fast_oss(const fast_oss& other) :std::basic_ios<char>(), std::ostream(&_dev), _dev(other._dev) |     fast_oss(const fast_oss& other) :std::basic_ios<char>(), std::ostream(&_dev), _dev(other._dev) | ||||||
|     {} |     {} | ||||||
| 
 | 
 | ||||||
| @ -108,7 +106,7 @@ public: | |||||||
| 
 | 
 | ||||||
|     std::string str() |     std::string str() | ||||||
|     { |     { | ||||||
|         auto buffer = _dev.buf(); |         auto& buffer = _dev.buf(); | ||||||
|         const char*data = buffer.data(); |         const char*data = buffer.data(); | ||||||
|         return std::string(data, data+buffer.size()); |         return std::string(data, data+buffer.size()); | ||||||
|     } |     } | ||||||
| @ -152,7 +150,7 @@ public: | |||||||
| 
 | 
 | ||||||
|     void write_fast_oss(const fast_oss& oss) |     void write_fast_oss(const fast_oss& oss) | ||||||
|     { |     { | ||||||
|         auto buffer = oss.buf(); |         auto& buffer = oss.buf(); | ||||||
|         _dev.sputn(buffer.data(), buffer.size()); |         _dev.sputn(buffer.data(), buffer.size()); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ public: | |||||||
| 
 | 
 | ||||||
|     void write(const log_msg& msg, std::ofstream& ofs) |     void write(const log_msg& msg, std::ofstream& ofs) | ||||||
|     { |     { | ||||||
|         auto buf = msg.formatted.buf(); |         auto& buf = msg.formatted.buf(); | ||||||
|         ofs.write(buf.data(), buf.size()); |         ofs.write(buf.data(), buf.size()); | ||||||
|         if(--_flush_countdown == 0) |         if(--_flush_countdown == 0) | ||||||
|         { |         { | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ public: | |||||||
| protected: | protected: | ||||||
|     virtual void _sink_it(const details::log_msg& msg) override |     virtual void _sink_it(const details::log_msg& msg) override | ||||||
|     { |     { | ||||||
|         auto buf = msg.formatted.buf(); |         auto& buf = msg.formatted.buf(); | ||||||
|         _ostream.write(buf.data(), buf.size()); |         _ostream.write(buf.data(), buf.size()); | ||||||
|     } |     } | ||||||
|     std::ostream& _ostream; |     std::ostream& _ostream; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user