1 | These classes provide a C++ stream interface to the zlib library. It allows you
|
---|
2 | to do things like:
|
---|
3 |
|
---|
4 | gzofstream outf("blah.gz");
|
---|
5 | outf << "These go into the gzip file " << 123 << endl;
|
---|
6 |
|
---|
7 | It does this by deriving a specialized stream buffer for gzipped files, which is
|
---|
8 | the way Stroustrup would have done it. :->
|
---|
9 |
|
---|
10 | The gzifstream and gzofstream classes were originally written by Kevin Ruland
|
---|
11 | and made available in the zlib contrib/iostream directory. The older version still
|
---|
12 | compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of
|
---|
13 | this version.
|
---|
14 |
|
---|
15 | The new classes are as standard-compliant as possible, closely following the
|
---|
16 | approach of the standard library's fstream classes. It compiles under gcc versions
|
---|
17 | 3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard
|
---|
18 | library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs
|
---|
19 | from the previous one in the following respects:
|
---|
20 | - added showmanyc
|
---|
21 | - added setbuf, with support for unbuffered output via setbuf(0,0)
|
---|
22 | - a few bug fixes of stream behavior
|
---|
23 | - gzipped output file opened with default compression level instead of maximum level
|
---|
24 | - setcompressionlevel()/strategy() members replaced by single setcompression()
|
---|
25 |
|
---|
26 | The code is provided "as is", with the permission to use, copy, modify, distribute
|
---|
27 | and sell it for any purpose without fee.
|
---|
28 |
|
---|
29 | Ludwig Schwardt
|
---|
30 | <[email protected]>
|
---|
31 |
|
---|
32 | DSP Lab
|
---|
33 | Electrical & Electronic Engineering Department
|
---|
34 | University of Stellenbosch
|
---|
35 | South Africa
|
---|