| 87 | } |
| 88 | |
| 89 | size_t Decompress(const TData& in, void* out) const override { |
| 90 | Check(in); |
| 91 | |
| 92 | const auto len = ReadUnaligned<ui64>(in.data()); |
| 93 | |
| 94 | if (!len) |
| 95 | return 0; |
| 96 | |
| 97 | Base()->DoDecompress(TData(in).Skip(sizeof(len)), out, len); |
| 98 | return len; |
| 99 | } |
| 100 | |
| 101 | inline const T* Base() const noexcept { |
| 102 | return static_cast<const T*>(this); |