libzypp: zypp::gzstream_detail::gzstreambufimpl Class Reference

libzypp 17.38.11

zypp::gzstream_detail::gzstreambufimpl Class Reference

Streambuffer reading or writing gzip files. More...

`#include <zypp-core/base/gzstream.h>`

## Public Types
using | error_type = ZlibError

## Public Member Functions
| ~gzstreambufimpl ()
bool | isOpen () const
bool | canRead () const
bool | canWrite () const
bool | canSeek (std::ios_base::seekdir way_r) const
error_type | error () const
| The last error returned fron zlib.
std::streamsize | readData (char *buffer_r, std::streamsize maxcount_r)
bool | writeData (const char *buffer_r, std::streamsize count_r)
off_t | seekTo (off_t off_r, std::ios_base::seekdir way_r, std::ios_base::openmode omode_r)
off_t | tell () const

## Protected Member Functions
bool | openImpl (const char *name_r, std::ios_base::openmode mode_r)
bool | closeImpl ()
off_t | compressed_tell () const

## Private Member Functions
void | setZError () const

## Private Attributes
int | _fd = -1
| file descriptor of the compressed file
gzFile | _file = nullptr
std::ios_base::openmode | _mode = std::ios_base::openmode(0)
ZlibError | _error

## Detailed Description

Streambuffer reading or writing gzip files.

Read and write mode are mutual exclusive. Seek is supported, but zlib restrictions appy (only forward seek in write mode; backward seek in read mode might be expensive).Putback is not supported.

Reading plain (no gziped) files is possible as well.

This streambuf is used in ifgzstream and ofgzstream.

Definition at line 90 of file gzstream.h.

## Member Typedef Documentation

## ◆ error_type

using zypp::gzstream_detail::gzstreambufimpl::error_type = ZlibError

Definition at line 93 of file gzstream.h.

## Constructor & Destructor Documentation

## ◆ ~gzstreambufimpl()

zypp::gzstream_detail::gzstreambufimpl::~gzstreambufimpl | ( |  | ) |
| inline

Definition at line 95 of file gzstream.h.

## Member Function Documentation

## ◆ isOpen()

bool zypp::gzstream_detail::gzstreambufimpl::isOpen | ( |  | ) | const
| inline

Definition at line 99 of file gzstream.h.

## ◆ canRead()

bool zypp::gzstream_detail::gzstreambufimpl::canRead | ( |  | ) | const
| inline

Definition at line 103 of file gzstream.h.

## ◆ canWrite()

bool zypp::gzstream_detail::gzstreambufimpl::canWrite | ( |  | ) | const
| inline

Definition at line 107 of file gzstream.h.

## ◆ canSeek()

bool zypp::gzstream_detail::gzstreambufimpl::canSeek | ( | std::ios_base::seekdir | way_r | ) | const
| inline

Definition at line 111 of file gzstream.h.

## ◆ openImpl()

bool gzstreambufimpl::openImpl | ( | const char * | name_r,
|  | std::ios_base::openmode | mode_r )
| protected

Definition at line 74 of file gzstream.cc.

## ◆ closeImpl()

bool gzstreambufimpl::closeImpl | ( |  | ) |
| protected

Definition at line 110 of file gzstream.cc.

## ◆ compressed_tell()

off_t gzstreambufimpl::compressed_tell | ( |  | ) | const
| protected

Tell the file position in the compressed file. Analogous to tell(2), complementary to gztell.

Definition at line 197 of file gzstream.cc.

## ◆ error()

error_type zypp::gzstream_detail::gzstreambufimpl::error | ( |  | ) | const
| inline

The last error returned fron zlib.

Definition at line 127 of file gzstream.h.

## ◆ readData()

std::streamsize gzstreambufimpl::readData | ( | char * | buffer_r,
|  | std::streamsize | maxcount_r )

Definition at line 143 of file gzstream.cc.

## ◆ writeData()

bool gzstreambufimpl::writeData | ( | const char * | buffer_r,
|  | std::streamsize | count_r )

Definition at line 157 of file gzstream.cc.

## ◆ seekTo()

off_t gzstreambufimpl::seekTo | ( | off_t | off_r,
|  | std::ios_base::seekdir | way_r,
|  | std::ios_base::openmode | omode_r )

Definition at line 174 of file gzstream.cc.

## ◆ tell()

off_t gzstreambufimpl::tell | ( |  | ) | const

Definition at line 188 of file gzstream.cc.

## ◆ setZError()

void zypp::gzstream_detail::gzstreambufimpl::setZError | ( |  | ) | const
| inlineprivate

Definition at line 138 of file gzstream.h.

## Member Data Documentation

## ◆ _fd

int zypp::gzstream_detail::gzstreambufimpl::_fd = -1
| private

file descriptor of the compressed file

Definition at line 142 of file gzstream.h.

## ◆ _file

gzFile zypp::gzstream_detail::gzstreambufimpl::_file = nullptr
| private

Definition at line 144 of file gzstream.h.

## ◆ _mode

std::ios_base::openmode zypp::gzstream_detail::gzstreambufimpl::_mode = std::ios_base::openmode(0)
| private

Definition at line 146 of file gzstream.h.

## ◆ _error

ZlibError zypp::gzstream_detail::gzstreambufimpl::_error
| mutableprivate

Definition at line 148 of file gzstream.h.

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

- zypp-core/base/gzstream.h
- zypp-core/base/gzstream.cc