|
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 |
|
36
|
|