#ifndef _zfstream_hxx
#define _zfstream_hxx
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
#include <simgear/compiler.h>
-#ifdef HAVE_ZLIB
-# include <zlib.h>
-#else
-# include <simgear/zlib/zlib.h>
-#endif
-
-// At least Irix needs this
-#ifdef SG_HAVE_NATIVE_SGI_COMPILERS
-#include <char_traits.h>
-SG_USING_STD(char_traits);
-#endif
+#include <zlib.h>
#ifdef SG_HAVE_STD_INCLUDES
#if defined(__GNUC__) && __GNUC_MINOR__ < 8
# define ios_binary ios::bin
-#elif defined( SG_HAVE_NATIVE_SGI_COMPILERS )
-# define ios_binary 0
#else
# define ios_binary ios::binary
#endif
/**
* A C++ I/O streams interface to the zlib gz* functions.
*/
+#ifdef SG_NEED_STREAMBUF_HACK
+class gzfilebuf : public __streambuf
+#else
class gzfilebuf : public streambuf
+#endif
{
public:
protected:
virtual int_type underflow();
+#ifndef SG_HAVE_STD_INCLUDES
virtual int_type overflow( int_type c = traits_type::eof() );
+#else
+ virtual int_type overflow( int_type c = streambuf::traits_type::eof() );
+#endif
private:
{
gzifstream_base() {}
- Gzfilebuf gzbuf;
+ gzfilebuf gzbuf;
};
#endif // _zfstream_hxx