Gzipped file input stream class. More...
#include "gzfstream.h"
Public Member Functions | |
gzifstream () | |
gzifstream (const char *name, std::ios_base::openmode mode=std::ios_base::in) | |
Construct stream on gzipped file to be opened. More... | |
gzifstream (int fd, std::ios_base::openmode mode=std::ios_base::in) | |
Construct stream on already open gzipped file. More... | |
void | attach (int fd, std::ios_base::openmode mode=std::ios_base::in) |
Attach to already open gzipped file. More... | |
void | close () |
Close gzipped file. More... | |
bool | is_open () |
Check if file is open. More... | |
void | open (const char *name, std::ios_base::openmode mode=std::ios_base::in) |
Open gzipped file. More... | |
gzfilebuf * | rdbuf () const |
Obtain underlying stream buffer. More... | |
Private Attributes | |
gzfilebuf | m_sb |
Underlying stream buffer. More... | |
Gzipped file input stream class.
This class implements ifstream for gzipped files. Seeking and putback is not supported yet.
Definition at line 281 of file gzfstream.h.
gzifstream::gzifstream | ( | ) |
Definition at line 524 of file gzfstream.cc.
References m_sb.
|
explicit |
Construct stream on gzipped file to be opened.
name | Filename. |
mode | Open mode flags (forced to contain ios::in). |
Definition at line 529 of file gzfstream.cc.
|
explicit |
Construct stream on already open gzipped file.
fd | File descriptor. |
mode | Open mode flags (forced to contain ios::in). |
Definition at line 537 of file gzfstream.cc.
void gzifstream::attach | ( | int | fd, |
std::ios_base::openmode | mode = std::ios_base::in |
||
) |
Attach to already open gzipped file.
fd | File descriptor. |
mode | Open mode flags (forced to contain ios::in). |
Stream will be in state good() if attach succeeded; otherwise in state fail().
Definition at line 556 of file gzfstream.cc.
References gzfilebuf::attach(), and m_sb.
Referenced by gzifstream().
void gzifstream::close | ( | void | ) |
Close gzipped file.
Stream will be in state fail() if close failed.
Definition at line 566 of file gzfstream.cc.
References gzfilebuf::close(), and m_sb.
Referenced by load_save_system::get_file_format(), and load_save_system::load().
|
inline |
Check if file is open.
Definition at line 317 of file gzfstream.h.
References gzfilebuf::is_open(), and m_sb.
void gzifstream::open | ( | const char * | name, |
std::ios_base::openmode | mode = std::ios_base::in |
||
) |
Open gzipped file.
name | Filename. |
mode | Open mode flags (forced to contain ios::in). |
Stream will be in state good() if file opens successfully; otherwise in state fail(). This differs from the behavior of ifstream, which never sets the state to good() and therefore won't allow you to reuse the stream for a second file unless you manually clear() the state. The choice is a matter of convenience.
Definition at line 546 of file gzfstream.cc.
References m_sb, and gzfilebuf::open().
Referenced by gzifstream().
|
inline |
|
private |
Underlying stream buffer.
Definition at line 359 of file gzfstream.h.
Referenced by gzifstream(), attach(), close(), is_open(), open(), and rdbuf().