# File gzio.hpp

↰ Parent directory (`cif++`)

## Definition (`cif++/gzio.hpp`)

- Program Listing for File gzio.hpp

## Detailed Description

Single header file for the implementation of stream classes that can transparently read and write compressed files.

The gzio::istream_buf class sniffs the input and decides whether to use a decompressor if a signature was recognized.

There’s also an ifstream and ofstream class here that can read and write compressed files. In this case the decission whether to use a compressions/decompression algorithm is based on the extension of the filename argument.

This is a stripped down version of the gxrio library from https://github.com/mhekkel/gxrio.git Most notably, the lzma support has been removed since getting that to work in Windows proved to be too much work.

## Includes

- `array`

- `filesystem`

- `fstream`

- `memory`

- `utility`

- `zlib.h`

## Included By

- File cif++.hpp

## Namespaces

- Namespace cif

- Namespace cif::gzio

## Classes

- Template Class basic_ifstream

- Template Class basic_igzip_streambuf

- Template Class basic_istream

- Template Class basic_ofstream

- Template Class basic_ogzip_streambuf

- Template Class basic_ostream

- Template Class basic_streambuf

## Typedefs

- Typedef cif::gzio::ifstream

- Typedef cif::gzio::istream

- Typedef cif::gzio::ofstream

## Variables

- Variable cif::gzio::kDefaultBufferSize