]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | <schwardt@sun.ac.za> | |
31 | ||
32 | DSP Lab | |
33 | Electrical & Electronic Engineering Department | |
34 | University of Stellenbosch | |
35 | South Africa |