R-Type
R-Type project
Compression.hpp
1 #pragma once
2 
3 #include "ArraySegment.hpp"
4 #include "Platform.hpp"
5 
6 namespace KapMirror {
7  class Compression {
8  public:
9  virtual ~Compression() = default;
10 
15  virtual std::shared_ptr<ArraySegment<byte>> compress(const std::shared_ptr<ArraySegment<byte>>& data) = 0;
16 
21  virtual std::shared_ptr<ArraySegment<byte>> decompress(const std::shared_ptr<ArraySegment<byte>>& data) = 0;
22 
23  public:
24  static std::shared_ptr<Compression> activeCompression;
25  };
26 } // namespace KapMirror
KapMirror::Compression::decompress
virtual std::shared_ptr< ArraySegment< byte > > decompress(const std::shared_ptr< ArraySegment< byte >> &data)=0
Decompress data with the compression algorithm.
KapMirror::Compression
Definition: Compression.hpp:7
KapMirror::Compression::compress
virtual std::shared_ptr< ArraySegment< byte > > compress(const std::shared_ptr< ArraySegment< byte >> &data)=0
Compress data with the compression algorithm.
KapMirror::ArraySegment
Definition: ArraySegment.hpp:9