# Template Class basic_igzip_streambuf

- Defined in File gzio.hpp

## Inheritance Relationships

### Base Type

- `public cif::gzio::basic_streambuf< CharT, Traits >` (Template Class basic_streambuf)

## 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