void operator () (T1 x1, T2 x2, T3 x3) const { *stream << x1 << separator << x2 << separator << x3 << '\n'; stream->flush(); }
void flush() { os_->write(begin_buffer_, (p_ - begin_buffer_)); p_ = begin_buffer_; os_->flush(); }
~buffered_ostream() { os_->write(begin_buffer_, (p_ - begin_buffer_)); os_->flush(); }
void operator () (T1 x1) const { *stream << x1 << '\n'; stream->flush(); }