11 : _sb(sb), date(f), separator(sep), write_next(wn)
13 LOG(
"dater::dater format=" << f);
18 return _sb->pubsync();
22 LOG(
"dater::overflow (" << c <<
")");
38 LOG(
"dater::xsputn " << buffer);
39 std::streamsize written=0;
41 const char* end_buffer = buffer + n;
46 for (beg = buffer, end = buffer; end < end_buffer; ++end) {
53 std::streamsize w = end - beg + 1;
64 LOG(
"dater::write_date");
67 _sb->sputn(d.c_str(), d.size());
debugging/logging support
dater(std::streambuf *sb, const std::string &format="[%c] ", char separator='\n', bool write_first=true)
construct using another streambuf
void write_date()
writes the current date to the streambuf
C++ objects to date output lines.
int sync()
tries to write as much data as possible (overloaded from streambuf)
std::streamsize xsputn(const char *buffer, std::streamsize n)
write an entire buffer (overloaded from streambuf)
int overflow(int c)
write a character that surpasses buffer end (overloaded from streambuf)