| 6 | #include <boost/iostreams/filter/gzip.hpp> |
| 7 | |
| 8 | class Gzip { |
| 9 | public: |
| 10 | static std::string compress(const std::string& data) |
| 11 | { |
| 12 | namespace bio = boost::iostreams; |
| 13 | |
| 14 | std::stringstream compressed; |
| 15 | std::stringstream origin(data); |
| 16 | |
| 17 | bio::filtering_streambuf<bio::input> out; |
| 18 | out.push(bio::gzip_compressor(bio::gzip_params(bio::gzip::best_compression))); |
| 19 | out.push(origin); |
| 20 | bio::copy(out, compressed); |
| 21 | |
| 22 | return compressed.str(); |
| 23 | } |
| 24 | |
| 25 | static std::string decompress(const std::string& data) |
| 26 | { |
| 27 | namespace bio = boost::iostreams; |
| 28 | |
| 29 | std::stringstream compressed(data); |
| 30 | std::stringstream decompressed; |
| 31 | |
| 32 | bio::filtering_streambuf<bio::input> out; |
| 33 | out.push(bio::gzip_decompressor()); |
| 34 | out.push(compressed); |
| 35 | bio::copy(out, decompressed); |
| 36 | |
| 37 | return decompressed.str(); |
| 38 | } |
| 39 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected