A toolkit for working with phylogenetic data.
v0.24.0
gzip.hpp
Go to the documentation of this file.
1 #ifndef GENESIS_UTILS_IO_GZIP_H_
2 #define GENESIS_UTILS_IO_GZIP_H_
3 
4 /*
5  Genesis - A toolkit for working with phylogenetic data.
6  Copyright (C) 2014-2020 Lucas Czech and HITS gGmbH
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>.
20 
21  Contact:
22  Lucas Czech <lucas.czech@h-its.org>
23  Exelixis Lab, Heidelberg Institute for Theoretical Studies
24  Schloss-Wolfsbrunnenweg 35, D-69118 Heidelberg, Germany
25 */
26 
35 
36 #include <stdexcept>
37 #include <string>
38 
39 namespace genesis {
40 namespace utils {
41 
42 // ================================================================================================
43 // General gzip/zlib Functions
44 // ================================================================================================
45 
53 bool is_gzip_compressed_file( std::string const& file_name );
54 
55 // ================================================================================================
56 // Gzip Exception Class
57 // ================================================================================================
58 
59 } // namespace utils
60 namespace except {
61 
67 class GzipError
68  : public Exception
69 {
70 public:
71 
72  GzipError( std::string const& z_stream_message, int error_code );
73 
74  GzipError( std::string const msg )
75  : except::Exception(msg)
76  {}
77 
78 };
79 
80 } // namespace except
81 } // namespace genesis
82 
83 #endif // include guard
Base class for genesis exceptions.
Definition: exception.hpp:53
Container namespace for all symbols of genesis in order to keep them separate when used as a library...
Exception class thrown by failed gzip/zlib operations.
Definition: gzip.hpp:67
GzipError(std::string const msg)
Definition: gzip.hpp:74
bool is_gzip_compressed_file(std::string const &file_name)
Return whether a given file is gzip-compressed.
Definition: gzip.cpp:58