30 std::streambuf*
sbOld =
nullptr;
50 const std::string& out_file,
bool also_to_console =
true,
51 bool also_cerr =
true,
bool append_file =
false,
int bufferSize = 1000)
55 std::ios_base::openmode openMode =
57 if (append_file) openMode |= std::ios_base::app;
58 m_of.open(out_file.c_str(), openMode);
64 m_buf.resize(bufferSize);
68 setp(
nullptr,
nullptr);
71 sbOld = std::cout.rdbuf();
72 std::cout.rdbuf(
this);
77 std::cerr.rdbuf(
this);
85 std::cout.rdbuf(
sbOld);
104 if (pbase() == epptr())
121 if (pbase() != pptr())
123 int len = int(pptr() - pbase());
124 std::string temp(pbase(), len);
126 setp(pbase(), epptr());