pass by ref bugfix
This commit is contained in:
		@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user