MCPcopy Create free account
hub / github.com/1a1a11a/libCacheSim / Gzip

Class Gzip

libCacheSim/traceAnalyzer/utils/include/utilsCompress.h:8–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include <boost/iostreams/filter/gzip.hpp>
7
8class 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};

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected