GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
gzifstream Class Reference

Gzipped file input stream class. More...

#include "zfstream.h"

Inheritance diagram for gzifstream:
Inheritance graph
[legend]
Collaboration diagram for gzifstream:
Collaboration graph
[legend]

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...
 
gzfilebufrdbuf () const
 Obtain underlying stream buffer. More...
 

Private Attributes

gzfilebuf sb
 Underlying stream buffer. More...
 

Detailed Description

Gzipped file input stream class.

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

Definition at line 279 of file zfstream.h.

Constructor & Destructor Documentation

gzifstream::gzifstream ( )

Definition at line 518 of file zfstream.cc.

References Range::init(), and sb.

gzifstream::gzifstream ( const char *  name,
std::ios_base::openmode  mode = std::ios_base::in 
)
explicit

Construct stream on gzipped file to be opened.

Parameters
nameFilename.
modeOpen mode flags (forced to contain ios::in).

Definition at line 523 of file zfstream.cc.

References Range::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
fdFile descriptor.
modeOpen mode flags (forced to contain ios::in).

Definition at line 531 of file zfstream.cc.

References attach(), Range::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
fdFile descriptor.
modeOpen mode flags (forced to contain ios::in).

Stream will be in state good() if attach succeeded; otherwise in state fail().

Definition at line 550 of file zfstream.cc.

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

Referenced by gzifstream().

void gzifstream::close ( void  )

Close gzipped file.

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

Definition at line 560 of file zfstream.cc.

References gzfilebuf::close(), and sb.

bool gzifstream::is_open ( void  )
inline

Check if file is open.

Returns
True if file is open.

Definition at line 315 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
nameFilename.
modeOpen 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 540 of file zfstream.cc.

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

Referenced by gzifstream().

gzfilebuf* gzifstream::rdbuf ( void  ) const
inline

Obtain underlying stream buffer.

Definition at line 307 of file zfstream.h.

References sb.

Member Data Documentation

gzfilebuf gzifstream::sb
private

Underlying stream buffer.

Definition at line 357 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: