|
roo_io
API Documentation for roo_io
|
#include <buffered_output_stream_iterator.h>
Public Member Functions | |
| BufferedOutputStreamIterator () | |
Creates a detached iterator with kClosed status. | |
| BufferedOutputStreamIterator (BufferedOutputStreamIterator &&other) | |
| Move-constructs iterator state. | |
| BufferedOutputStreamIterator & | operator= (BufferedOutputStreamIterator &&other) |
| Move-assigns iterator state. | |
| BufferedOutputStreamIterator (roo_io::OutputStream &output) | |
Creates iterator over output. | |
| ~BufferedOutputStreamIterator () | |
| Flushes pending output on destruction. | |
| void | write (byte v) |
| Writes one byte. | |
| size_t | write (const byte *buf, size_t count) |
Writes up to count bytes. | |
| void | flush () |
| Flushes buffered data and then flushes underlying stream. | |
| Status | status () const |
| Returns current iterator status. | |
| bool | ok () const |
Returns whether status() == kOk. | |
| void | reset () |
| Detaches from stream and releases internal buffer. | |
| void | reset (roo_io::OutputStream &output) |
Rebinds iterator to output and clears buffered state. | |
Definition at line 13 of file buffered_output_stream_iterator.h.
|
inline |
Creates a detached iterator with kClosed status.
Definition at line 16 of file buffered_output_stream_iterator.h.
|
inline |
Move-constructs iterator state.
Source iterator becomes detached with kClosed status.
Definition at line 25 of file buffered_output_stream_iterator.h.
References roo_io::kClosed, and roo_io::kOutputStreamIteratorBufferSize.
|
inline |
Creates iterator over output.
Initializes status() from output.status(). Allocates internal buffer only when initial status is kOk.
Definition at line 56 of file buffered_output_stream_iterator.h.
References roo_io::kOk, and roo_io::kOutputStreamIteratorBufferSize.
|
inline |
Flushes pending output on destruction.
Definition at line 67 of file buffered_output_stream_iterator.h.
References flush().
|
inline |
Flushes buffered data and then flushes underlying stream.
If status() != kOk, this call is a no-op. Updates status() from output.status().
Definition at line 114 of file buffered_output_stream_iterator.h.
References roo_io::OutputStream::flush(), roo_io::kOk, and roo_io::OutputStream::status().
Referenced by roo_io::OutputStreamWriter::close(), roo_io::OutputStreamWriter::flush(), and ~BufferedOutputStreamIterator().
|
inline |
Returns whether status() == kOk.
true iff current status is kOk. Definition at line 130 of file buffered_output_stream_iterator.h.
References roo_io::kOk, and status().
Referenced by roo_io::OutputStreamWriter::ok().
|
inline |
Move-assigns iterator state.
Source iterator becomes detached with kClosed status.
Definition at line 38 of file buffered_output_stream_iterator.h.
References roo_io::kClosed, and roo_io::kOutputStreamIteratorBufferSize.
|
inline |
Detaches from stream and releases internal buffer.
Sets status to kClosed.
Definition at line 135 of file buffered_output_stream_iterator.h.
References roo_io::kClosed, and roo_io::kOutputStreamIteratorBufferSize.
Referenced by roo_io::OutputStreamWriter::close(), roo_io::OutputStreamWriter::OutputStreamWriter(), roo_io::OutputStreamWriter::reset(), and roo_io::OutputStreamWriter::reset().
|
inline |
Rebinds iterator to output and clears buffered state.
Updates status() to output.status(). Allocates buffer lazily when needed and status is kOk.
Definition at line 146 of file buffered_output_stream_iterator.h.
References roo_io::kOk, and roo_io::kOutputStreamIteratorBufferSize.
|
inline |
Returns current iterator status.
Definition at line 125 of file buffered_output_stream_iterator.h.
Referenced by ok(), and roo_io::OutputStreamWriter::status().
Writes one byte.
If output is healthy, byte is buffered and may trigger flushing buffered block first. If status() != kOk and buffer is full, call is a no-op. Updates status() through internal buffer flush.
Definition at line 74 of file buffered_output_stream_iterator.h.
References roo_io::kOk, and roo_io::kOutputStreamIteratorBufferSize.
Referenced by roo_io::OutputStreamWriter::write().
Writes up to count bytes.
May buffer bytes or write directly to underlying stream. If stream is not writable at entry and no buffer space is available, returns zero. Updates status() after delegated writes/flushes.
buf. Definition at line 90 of file buffered_output_stream_iterator.h.
References roo_io::count, roo_io::kOk, roo_io::kOutputStreamIteratorBufferSize, roo_io::OutputStream::status(), and roo_io::OutputStream::write().