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