
.. _file_cif++_gzio.hpp:

File gzio.hpp
=============

|exhale_lsh| :ref:`Parent directory <dir_cif++>` (``cif++``)

.. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS

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


.. toctree::
   :maxdepth: 1

   program_listing_file_cif++_gzio.hpp.rst



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


- :ref:`file_cif++_cif++.hpp`




Namespaces
----------


- :ref:`namespace_cif`

- :ref:`namespace_cif__gzio`


Classes
-------


- :ref:`exhale_class_classcif_1_1gzio_1_1basic__ifstream`

- :ref:`exhale_class_classcif_1_1gzio_1_1basic__igzip__streambuf`

- :ref:`exhale_class_classcif_1_1gzio_1_1basic__istream`

- :ref:`exhale_class_classcif_1_1gzio_1_1basic__ofstream`

- :ref:`exhale_class_classcif_1_1gzio_1_1basic__ogzip__streambuf`

- :ref:`exhale_class_classcif_1_1gzio_1_1basic__ostream`

- :ref:`exhale_class_classcif_1_1gzio_1_1basic__streambuf`


Typedefs
--------


- :ref:`exhale_typedef_gzio_8hpp_1a46af030d61cf99d1798ecf1f6931eac2`

- :ref:`exhale_typedef_gzio_8hpp_1a5f53fe4ee3e1be6fb280a0912c8027c6`

- :ref:`exhale_typedef_gzio_8hpp_1a111465f13be595fc48c3c0cce532117f`


Variables
---------


- :ref:`exhale_variable_gzio_8hpp_1a1cc3c9e961807f24cc997b0fdfbe76a6`

