From 5c9c0082a19d43217c6de773ac6be4938480b478 Mon Sep 17 00:00:00 2001 From: asynts Date: Thu, 10 Sep 2020 14:06:50 +0200 Subject: [PATCH] LibCompress: Move CanonicalCode out of DeflateDecompressor. --- Libraries/LibCompress/Deflate.cpp | 8 ++++---- Libraries/LibCompress/Deflate.h | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Libraries/LibCompress/Deflate.cpp b/Libraries/LibCompress/Deflate.cpp index 6792dc0590..791a54b20c 100644 --- a/Libraries/LibCompress/Deflate.cpp +++ b/Libraries/LibCompress/Deflate.cpp @@ -34,7 +34,7 @@ namespace Compress { -const DeflateDecompressor::CanonicalCode& DeflateDecompressor::CanonicalCode::fixed_literal_codes() +const CanonicalCode& CanonicalCode::fixed_literal_codes() { static CanonicalCode code; static bool initialized = false; @@ -54,7 +54,7 @@ const DeflateDecompressor::CanonicalCode& DeflateDecompressor::CanonicalCode::fi return code; } -const DeflateDecompressor::CanonicalCode& DeflateDecompressor::CanonicalCode::fixed_distance_codes() +const CanonicalCode& CanonicalCode::fixed_distance_codes() { static CanonicalCode code; static bool initialized = false; @@ -71,7 +71,7 @@ const DeflateDecompressor::CanonicalCode& DeflateDecompressor::CanonicalCode::fi return code; } -Optional DeflateDecompressor::CanonicalCode::from_bytes(ReadonlyBytes bytes) +Optional CanonicalCode::from_bytes(ReadonlyBytes bytes) { // FIXME: I can't quite follow the algorithm here, but it seems to work. @@ -103,7 +103,7 @@ Optional DeflateDecompressor::CanonicalCode: return code; } -u32 DeflateDecompressor::CanonicalCode::read_symbol(InputBitStream& stream) const +u32 CanonicalCode::read_symbol(InputBitStream& stream) const { u32 code_bits = 1; diff --git a/Libraries/LibCompress/Deflate.h b/Libraries/LibCompress/Deflate.h index 10671515cd..7474a03ca7 100644 --- a/Libraries/LibCompress/Deflate.h +++ b/Libraries/LibCompress/Deflate.h @@ -34,23 +34,23 @@ namespace Compress { +class CanonicalCode { +public: + CanonicalCode() = default; + u32 read_symbol(InputBitStream&) const; + + static const CanonicalCode& fixed_literal_codes(); + static const CanonicalCode& fixed_distance_codes(); + + static Optional from_bytes(ReadonlyBytes); + +private: + Vector m_symbol_codes; + Vector m_symbol_values; +}; + class DeflateDecompressor final : public InputStream { private: - class CanonicalCode { - public: - CanonicalCode() = default; - u32 read_symbol(InputBitStream&) const; - - static const CanonicalCode& fixed_literal_codes(); - static const CanonicalCode& fixed_distance_codes(); - - static Optional from_bytes(ReadonlyBytes); - - private: - Vector m_symbol_codes; - Vector m_symbol_values; - }; - class CompressedBlock { public: CompressedBlock(DeflateDecompressor&, CanonicalCode literal_codes, Optional distance_codes);