void RawWrite(constchar* s, std::streamsize n) {
size_t written = out_sbuf_->sputn(s, n);
s += written;
n -= written; while (n != 0u) {
out_sbuf_->pubsync();
written = out_sbuf_->sputn(s, n);
CHECK_NE(written, 0u) << "Error writing to buffer. Disk full?";
s += written;
n -= written;
}
}
bool indent_next_;
// Buffer to write output to.
std::streambuf* const out_sbuf_;
// Text output as indent. constchar text_[8];
// Number of times text is output.
size_t count_;
friendclass VariableIndentationOutputStream;
DISALLOW_COPY_AND_ASSIGN(Indenter);
};
class VariableIndentationOutputStream { public: explicit VariableIndentationOutputStream(std::ostream* os, char text = kIndentChar)
: indenter_(os->rdbuf(), text, 0u),
indented_os_(&indenter_) {
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.