11.1SchristosThese classes provide a C++ stream interface to the zlib library. It allows you
21.1Schristosto do things like:
31.1Schristos
41.1Schristos  gzofstream outf("blah.gz");
51.1Schristos  outf << "These go into the gzip file " << 123 << endl;
61.1Schristos
71.1SchristosIt does this by deriving a specialized stream buffer for gzipped files, which is
81.1Schristosthe way Stroustrup would have done it. :->
91.1Schristos
101.1SchristosThe gzifstream and gzofstream classes were originally written by Kevin Ruland
111.1Schristosand made available in the zlib contrib/iostream directory. The older version still
121.1Schristoscompiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of
131.1Schristosthis version.
141.1Schristos
151.1SchristosThe new classes are as standard-compliant as possible, closely following the
161.1Schristosapproach of the standard library's fstream classes. It compiles under gcc versions
171.1Schristos3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard
181.1Schristoslibrary naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs
191.1Schristosfrom the previous one in the following respects:
201.1Schristos- added showmanyc
211.1Schristos- added setbuf, with support for unbuffered output via setbuf(0,0)
221.1Schristos- a few bug fixes of stream behavior
231.1Schristos- gzipped output file opened with default compression level instead of maximum level
241.1Schristos- setcompressionlevel()/strategy() members replaced by single setcompression()
251.1Schristos
261.1SchristosThe code is provided "as is", with the permission to use, copy, modify, distribute
271.1Schristosand sell it for any purpose without fee.
281.1Schristos
291.1SchristosLudwig Schwardt
301.1Schristos<schwardt@sun.ac.za>
311.1Schristos
321.1SchristosDSP Lab
331.1SchristosElectrical & Electronic Engineering Department
341.1SchristosUniversity of Stellenbosch
351.1SchristosSouth Africa
36