1 #ifdef SOPLEX_WITH_ZLIB 35 #define _GZSTREAM_H_ 1 43 #define SOPLEX_GZSTREAM_NAMESPACE gzstream 45 #ifdef SOPLEX_GZSTREAM_NAMESPACE 62 :
public std::streambuf
70 static const int bufferSize = 47 + 256;
78 char buffer[bufferSize];
101 setp(buffer, buffer + (bufferSize - 1));
109 gzstreambuf(
const gzstreambuf& sb)
115 gzstreambuf& operator=(
const gzstreambuf& sb)
117 std::streambuf::operator=(sb);
124 std::strncpy(buffer, sb.buffer, bufferSize);
146 gzstreambuf* open(
const char* name,
int open_mode);
148 gzstreambuf* close();
150 virtual int overflow(
int c = EOF);
152 virtual int underflow();
166 :
virtual public std::ios
188 gzstreambase(
const char* _name,
int _open_mode);
197 void open(
const char* _name,
int _open_mode);
222 :
public std::istream
223 ,
public gzstreambase
235 igzstream(
const char* _name,
236 int _open_mode = std::ios::in)
238 , gzstreambase(_name, _open_mode)
248 return gzstreambase::rdbuf();
251 void open(
const char* _name,
252 int _open_mode = std::ios::in)
254 gzstreambase::open(_name, _open_mode);
267 :
public gzstreambase
268 ,
public std::ostream
281 ogzstream(
const char* _name,
282 int _open_mode = std::ios::out)
283 : gzstreambase(_name, _open_mode)
294 return gzstreambase::rdbuf();
297 void open(
const char* _name,
298 int _open_mode = std::ios::out)
300 gzstreambase::open(_name, _open_mode);
304 #ifdef SOPLEX_GZSTREAM_NAMESPACE 308 #endif // _GZSTREAM_H_