
.. _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++.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_1a878fb88f8eb9b8c5bde4ed2616dca237`

- :ref:`exhale_typedef_gzio_8hpp_1a41d20db90846830c07aa1b4052e4d61f`

- :ref:`exhale_typedef_gzio_8hpp_1a584b8865c9038c4eeba40de7d4a9f1aa`


Variables
---------


- :ref:`exhale_variable_gzio_8hpp_1a1cc3c9e961807f24cc997b0fdfbe76a6`

