gzifstream Class Reference

Gzipped file input stream class. More...

#include <zfstream.h>

Inherits gzfilestream_common.

Inheritance diagram for gzifstream:

Inheritance graph
[legend]
Collaboration diagram for gzifstream:

Collaboration graph
[legend]

Public Member Functions

 gzifstream ()
 gzifstream (const char *name, int io_mode=ios::in)
 gzifstream (int fd, int io_mode=ios::in)
virtual ~gzifstream ()
 gzifstream ()
 gzifstream (const char *name, std::ios_base::openmode mode=std::ios_base::in)
 Construct stream on gzipped file to be opened.
 gzifstream (int fd, std::ios_base::openmode mode=std::ios_base::in)
 Construct stream on already open gzipped file.
gzfilebufrdbuf () const
bool is_open ()
 Check if file is open.
void open (const char *name, std::ios_base::openmode mode=std::ios_base::in)
 Open gzipped file.
void attach (int fd, std::ios_base::openmode mode=std::ios_base::in)
 Attach to already open gzipped file.
void close ()
 Close gzipped file.

Private Attributes

gzfilebuf sb

Detailed Description

Gzipped file input stream class.

This class implements ifstream for gzipped files. Seeking and putback is not supported yet.

Definition at line 68 of file zfstream.h.


Constructor & Destructor Documentation

gzifstream::gzifstream  ) 
 

Definition at line 291 of file zfstream.cpp.

References clear.

gzifstream::gzifstream const char *  name,
int  io_mode = ios::in
 

Definition at line 297 of file zfstream.cpp.

References gzfilestream_common::open().

gzifstream::gzifstream int  fd,
int  io_mode = ios::in
 

Definition at line 303 of file zfstream.cpp.

References gzfilestream_common::attach().

gzifstream::~gzifstream  )  [virtual]
 

Definition at line 309 of file zfstream.cpp.

gzifstream::gzifstream  ) 
 

gzifstream::gzifstream const char *  name,
std::ios_base::openmode  mode = std::ios_base::in
[explicit]
 

Construct stream on gzipped file to be opened.

Parameters:
name File name.
mode Open mode flags (forced to contain ios::in).

Definition at line 379 of file zfstream.cc.

References init, open(), and sb.

gzifstream::gzifstream int  fd,
std::ios_base::openmode  mode = std::ios_base::in
[explicit]
 

Construct stream on already open gzipped file.

Parameters:
fd File descriptor.
mode Open mode flags (forced to contain ios::in).

Definition at line 388 of file zfstream.cc.

References attach(), init, and sb.


Member Function Documentation

void gzifstream::attach int  fd,
std::ios_base::openmode  mode = std::ios_base::in
 

Attach to already open gzipped file.

Parameters:
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 409 of file zfstream.cc.

References gzfilebuf::attach(), clear, in, and sb.

Referenced by gzifstream().

void gzifstream::close  ) 
 

Close gzipped file.

Stream will be in state fail() if close failed.

Reimplemented from gzfilestream_common.

Definition at line 420 of file zfstream.cc.

References gzfilebuf::close(), and sb.

bool gzifstream::is_open  )  [inline]
 

Check if file is open.

Returns:
True if file is open.

Definition at line 270 of file zfstream.h.

References gzfilebuf::is_open(), and sb.

void gzifstream::open const char *  name,
std::ios_base::openmode  mode = std::ios_base::in
 

Open gzipped file.

Parameters:
name File name.
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 398 of file zfstream.cc.

References clear, in, gzfilebuf::open(), and sb.

Referenced by gzifstream().

gzfilebuf* gzifstream::rdbuf  )  const [inline]
 

Obtain underlying stream buffer.

Definition at line 262 of file zfstream.h.

References sb.


Field Documentation

gzfilebuf gzifstream::sb [private]
 

Underlying stream buffer.

Definition at line 312 of file zfstream.h.

Referenced by attach(), close(), gzifstream(), is_open(), open(), and rdbuf().


The documentation for this class was generated from the following files:
Generated on Fri Apr 14 23:23:21 2006 for minix by  doxygen 1.4.6