Template Class basic_igzip_streambuf

Inheritance Relationships

Base Type

Class Documentation

template<typename CharT, typename Traits, std::size_t BufferSize = kDefaultBufferSize>
class basic_igzip_streambuf : public cif::gzio::basic_streambuf<CharT, Traits>

A streambuf class that can be used to decompress gzipped data.

This implementation of streambuf can decompress (inflate) data compressed using zlib.

Template Parameters
  • CharT – Type of the character stream.

  • Traits – Traits for character type, defaults to char_traits<_CharT>.

  • BufferSize – The size of the internal buffers.

Public Functions

inline basic_igzip_streambuf(basic_igzip_streambuf &&rhs)

Move constructor.

inline base_type *close() override

This closes the zlib stream and sets the get pointers to null.

inline base_type *init(streambuf_type *upstream) override

Initialize a zlib stream and set the upstream.

The zstream is constructed and an optional header is read from upstream. The contents of the header are ignored but we must maintain that structure.

Parameters

upstream – The upstream streambuf