Ruby: gzifstream Class Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Public Member Functions
gzifstream Class Reference

Gzipped file input stream class. More...

`#include <zfstream.h>`

## 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. More...
| gzifstream (int fd, std::ios_base::openmode mode=std::ios_base::in)
| Construct stream on already open gzipped file. More...
gzfilebuf * | rdbuf () const
| Obtain underlying stream buffer. 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...
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...
Public Member Functions inherited from gzfilestream_common
virtual | ~gzfilestream_common ()
void | attach (int fd, int io_mode)
void | open (const char *name, int io_mode)
void | close ()

## Additional Inherited Members
Protected Member Functions inherited from gzfilestream_common
| gzfilestream_common ()

## 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() [1/6]

gzifstream::gzifstream | ( |  | ) |

## ◆ gzifstream() [2/6]

gzifstream::gzifstream | ( | const char * | name,
|  | int | io_mode = `ios::in`
| ) |  |

## ◆ gzifstream() [3/6]

gzifstream::gzifstream | ( | int | fd,
|  | int | io_mode = `ios::in`
| ) |  |

## ◆ ~gzifstream()

virtual gzifstream::~gzifstream | ( |  | ) |
| virtual

## ◆ gzifstream() [4/6]

gzifstream::gzifstream | ( |  | ) |

## ◆ gzifstream() [5/6]

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).

## ◆ gzifstream() [6/6]

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).

## Member Function Documentation

## ◆ attach()

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().

## ◆ close()

void gzifstream::close | ( |  | ) |

Close gzipped file.

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

## ◆ is_open()

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().

## ◆ open()

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.

## ◆ rdbuf()

gzfilebuf * gzifstream::rdbuf | ( |  | ) | const
| inline

Obtain underlying stream buffer.

Definition at line 262 of file zfstream.h.

The documentation for this class was generated from the following files:

- ext/zlib/zlib-1.2.13/contrib/iostream/zfstream.h
- ext/zlib/zlib-1.2.13/contrib/iostream3/zfstream.h