ANNA Suite  2020b
Multipurpose development suite for Telco applications
ZBlock.hpp
Go to the documentation of this file.
1 // ANNA - Anna is Not Nothingness Anymore //
2 // //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
4 // //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7 
8 
9 #ifndef anna_core_util_ZBlock_hpp
10 #define anna_core_util_ZBlock_hpp
11 
12 #include <anna/core//DataBlock.hpp>
13 
14 namespace anna {
15 
23 class ZBlock : public DataBlock {
24 public:
28  struct Mode { enum _v { Default = -1, NoCompression, BestSpeed = 1, BestCompression = 9 }; };
29 
33  ZBlock() : DataBlock(true) {;}
34 
42  const DataBlock& compress(const DataBlock& data, const Mode::_v mode = Mode::Default) noexcept(false);
43 
50  const DataBlock& uncompress(const DataBlock& zdata) noexcept(false);
51 
52 private:
53  ZBlock(const ZBlock&);
54 };
55 
56 }
57 
58 #endif
59 
60 
const DataBlock & uncompress(const DataBlock &zdata) noexcept(false)
ZBlock()
Definition: ZBlock.hpp:33
Definition: ZBlock.hpp:28
Definition: ZBlock.hpp:28
_v
Definition: ZBlock.hpp:28
Definition: ZBlock.hpp:23
Definition: app.hpp:12
Definition: ZBlock.hpp:28
Definition: ZBlock.hpp:28
const DataBlock & compress(const DataBlock &data, const Mode::_v mode=Mode::Default) noexcept(false)
Definition: ZBlock.hpp:28
Definition: DataBlock.hpp:24