#include <zstream.h>

Public Member Functions | |
| virtual | ~ZBuffer () |
| Destroys this stream buffer. | |
| virtual int | overflow (int c) |
| Writes the given character to the underlying file, compressing en route. | |
| virtual int | underflow () |
| Reads the next character from the underlying file, decompressing en route. | |
| virtual int | uflow () |
| Reads the next character from the underlying file, decompressing en route. | |
| virtual std::streamsize | xsputn (const char *s, std::streamsize n) |
| Writes the given set of characters to the underlying file, compressing en route. | |
| virtual std::streamsize | xsgetn (char *s, std::streamsize n) |
| Reads a set of characters from the underlying file, decompressing en route. | |
| virtual int | pbackfail (int c) |
| Pushes the given character back into the underlying input stream. | |
| virtual int | sync () |
| Flushes all input/output buffers. | |
| int | close () |
| Closes the underlying file. | |
| void | showError (std::ostream &out) |
| Writes a description of the last (de)compression error that occurred. | |
Static Public Attributes | |
| static const int | zEOF |
| The end-of-file marker used with this stream buffer. | |
Protected Member Functions | |
| ZBuffer () | |
| Creates a new stream buffer. | |
| int | open (const char *path, const char *mode) |
| Opens the given file for (de)compressed reading or writing. | |
This class should not be instantiated directly; see classes CompressionBuffer and DecompressionBuffer instead.
The standard zlib compression library is used for compression and decompression.
| regina::ZBuffer::ZBuffer | ( | ) | [inline, protected] |
Creates a new stream buffer.
| regina::ZBuffer::~ZBuffer | ( | ) | [inline, virtual] |
Destroys this stream buffer.
Any underlying file that is open will be closed.
| int regina::ZBuffer::overflow | ( | int | c | ) | [inline, virtual] |
Writes the given character to the underlying file, compressing en route.
| c | the uncompressed character to write. |
| int regina::ZBuffer::underflow | ( | ) | [inline, virtual] |
Reads the next character from the underlying file, decompressing en route.
The character is not consumed.
| int regina::ZBuffer::uflow | ( | ) | [inline, virtual] |
Reads the next character from the underlying file, decompressing en route.
The character is consumed.
| std::streamsize regina::ZBuffer::xsputn | ( | const char * | s, | |
| std::streamsize | n | |||
| ) | [inline, virtual] |
Writes the given set of characters to the underlying file, compressing en route.
| s | the uncompressed array of characters to write. | |
| n | the number of characters to write. |
| virtual std::streamsize regina::ZBuffer::xsgetn | ( | char * | s, | |
| std::streamsize | n | |||
| ) | [virtual] |
Reads a set of characters from the underlying file, decompressing en route.
The characters are all consumed. Reading will stop if end-of-file is reached or an error occurs.
| s | the array into which the uncompressed characters should be placed. | |
| n | the number of uncompressed characters to read. |
| int regina::ZBuffer::pbackfail | ( | int | c | ) | [inline, virtual] |
Pushes the given character back into the underlying input stream.
| c | the character to push back. |
| int regina::ZBuffer::sync | ( | ) | [inline, virtual] |
Flushes all input/output buffers.
| int regina::ZBuffer::close | ( | ) |
Closes the underlying file.
If no file is open, this routine does nothing.
| void regina::ZBuffer::showError | ( | std::ostream & | out | ) |
Writes a description of the last (de)compression error that occurred.
For the message to be meaningful, the underlying file must still be open.
| out | the output stream to which the error description should be written. |
| int regina::ZBuffer::open | ( | const char * | path, | |
| const char * | mode | |||
| ) | [protected] |
Opens the given file for (de)compressed reading or writing.
If a file is already open, it will be closed before the new file is opened.
| path | the pathname of the new file to open. | |
| mode | the mode in which to open the file; this must be "rb" for reading or "wb" for writing. |
const int regina::ZBuffer::zEOF [static] |
The end-of-file marker used with this stream buffer.