diff options
author | Aki <please@ignore.pl> | 2024-03-02 22:57:02 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2024-03-03 00:59:45 +0100 |
commit | ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6 (patch) | |
tree | 1ba5a8734c96f892322cd65af7cf33041ba4cb68 /contrib/zlib/contrib/iostream/zfstream.h | |
parent | e70158ea57302e2fa2d588b67fc8dc18265192eb (diff) | |
download | starshatter-ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6.zip starshatter-ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6.tar.gz starshatter-ca18c5b1b5004ffa88b6b3b85cd038d1217c09c6.tar.bz2 |
zlib sources removed from this tree
This, for whatever reason, breaks std::fs exception handling.
All remaining external projects will be moved to use this approach soon.
This is to prepare it for more new libraries which would otherwise make
the tree grow even further.
Diffstat (limited to 'contrib/zlib/contrib/iostream/zfstream.h')
-rw-r--r-- | contrib/zlib/contrib/iostream/zfstream.h | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/contrib/zlib/contrib/iostream/zfstream.h b/contrib/zlib/contrib/iostream/zfstream.h deleted file mode 100644 index ed79098..0000000 --- a/contrib/zlib/contrib/iostream/zfstream.h +++ /dev/null @@ -1,128 +0,0 @@ - -#ifndef zfstream_h -#define zfstream_h - -#include <fstream.h> -#include "zlib.h" - -class gzfilebuf : public streambuf { - -public: - - gzfilebuf( ); - virtual ~gzfilebuf(); - - gzfilebuf *open( const char *name, int io_mode ); - gzfilebuf *attach( int file_descriptor, int io_mode ); - gzfilebuf *close(); - - int setcompressionlevel( int comp_level ); - int setcompressionstrategy( int comp_strategy ); - - inline int is_open() const { return (file !=NULL); } - - virtual streampos seekoff( streamoff, ios::seek_dir, int ); - - virtual int sync(); - -protected: - - virtual int underflow(); - virtual int overflow( int = EOF ); - -private: - - gzFile file; - short mode; - short own_file_descriptor; - - int flushbuf(); - int fillbuf(); - -}; - -class gzfilestream_common : virtual public ios { - - friend class gzifstream; - friend class gzofstream; - friend gzofstream &setcompressionlevel( gzofstream &, int ); - friend gzofstream &setcompressionstrategy( gzofstream &, int ); - -public: - virtual ~gzfilestream_common(); - - void attach( int fd, int io_mode ); - void open( const char *name, int io_mode ); - void close(); - -protected: - gzfilestream_common(); - -private: - gzfilebuf *rdbuf(); - - gzfilebuf buffer; - -}; - -class gzifstream : public gzfilestream_common, public istream { - -public: - - gzifstream(); - gzifstream( const char *name, int io_mode = ios::in ); - gzifstream( int fd, int io_mode = ios::in ); - - virtual ~gzifstream(); - -}; - -class gzofstream : public gzfilestream_common, public ostream { - -public: - - gzofstream(); - gzofstream( const char *name, int io_mode = ios::out ); - gzofstream( int fd, int io_mode = ios::out ); - - virtual ~gzofstream(); - -}; - -template<class T> class gzomanip { - friend gzofstream &operator<<(gzofstream &, const gzomanip<T> &); -public: - gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { } -private: - gzofstream &(*func)(gzofstream &, T); - T val; -}; - -template<class T> gzofstream &operator<<(gzofstream &s, const gzomanip<T> &m) -{ - return (*m.func)(s, m.val); -} - -inline gzofstream &setcompressionlevel( gzofstream &s, int l ) -{ - (s.rdbuf())->setcompressionlevel(l); - return s; -} - -inline gzofstream &setcompressionstrategy( gzofstream &s, int l ) -{ - (s.rdbuf())->setcompressionstrategy(l); - return s; -} - -inline gzomanip<int> setcompressionlevel(int l) -{ - return gzomanip<int>(&setcompressionlevel,l); -} - -inline gzomanip<int> setcompressionstrategy(int l) -{ - return gzomanip<int>(&setcompressionstrategy,l); -} - -#endif |