![]() |
Elm
2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
|
#include <elm/io/OutStream.h>
Inheritance diagram for OutStream:Public Member Functions | |
| virtual | ~OutStream (void) |
| virtual int | write (const char *buffer, int size)=0 |
| virtual int | write (char byte) |
| virtual int | flush (void)=0 |
| virtual CString | lastErrorMessage (void) |
| virtual bool | supportsANSI () const |
Static Public Attributes | |
| static OutStream & | null = _null |
An output stream streams transfer a flow of bytes to another entity. It is an abstract interface that must be implemented by standard IO, files, pipes, compressors and so on.
|
pure virtual |
Cause the current stream to dump its buffer to the medium.
Implemented in VarExpander, TeeOutStream, BufferedOutStream, NullOutStream, WinOutStream, BlockOutStream, MD5, and UnixOutStream.
Referenced by Output::flush(), TeeOutStream::flush(), and VarExpander::flush().
Return a message for the last error.
Reimplemented in VarExpander, TeeOutStream, BufferedOutStream, WinOutStream, MD5, and UnixOutStream.
Referenced by Output::flush(), StreamPipe::lastErrorMessage(), BufferedOutStream::lastErrorMessage(), TeeOutStream::lastErrorMessage(), VarExpander::lastErrorMessage(), and Output::print().
|
virtual |
Test if the current stream knows how to decode ANSI special codes. The default implementation returns false.
Reimplemented in VarExpander, UnixOutStream, TeeOutStream, and BufferedOutStream.
Referenced by Output::supportsANSI(), BufferedOutStream::supportsANSI(), TeeOutStream::supportsANSI(), and VarExpander::supportsANSI().
|
virtual |
Write a byte to the stream.
| byte | Byte to write. |
Reimplemented in VarExpander, BufferedOutStream, and BlockOutStream.
References elm::io::byte(), and OutStream::write().
|
pure virtual |
This is the main method of an output stream: the given buffer is put on the stream.
| buffer | Byte buffer to write. |
| size | Size of the byte buffer. |
Implemented in VarExpander, UnixOutStream, TeeOutStream, BufferedOutStream, NullOutStream, WinOutStream, BlockOutStream, and MD5.
Referenced by BufferedOutStream::flush(), Output::format(), Output::print(), StreamPipe::proceed(), OutStream::write(), VarExpander::write(), BufferedOutStream::write(), TeeOutStream::write(), and Serializer::writeRaw().