• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1These classes provide a C++ stream interface to the zlib library. It allows you
2to do things like:
3
4  gzofstream outf("blah.gz");
5  outf << "These go into the gzip file " << 123 << endl;
6
7It does this by deriving a specialized stream buffer for gzipped files, which is
8the way Stroustrup would have done it. :->
9
10The gzifstream and gzofstream classes were originally written by Kevin Ruland
11and made available in the zlib contrib/iostream directory. The older version still
12compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of
13this version.
14
15The new classes are as standard-compliant as possible, closely following the
16approach of the standard library's fstream classes. It compiles under gcc versions
173.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard
18library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs
19from 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
26The code is provided "as is", with the permission to use, copy, modify, distribute
27and sell it for any purpose without fee.
28
29Ludwig Schwardt
30<schwardt@sun.ac.za>
31
32DSP Lab
33Electrical & Electronic Engineering Department
34University of Stellenbosch
35South Africa
36