ladybird/Userland/Libraries/LibCompress/BrotliDictionary.h
Michiel Visser d6a5b11f04 LibCompress: Implement Brotli decompressor
This implements the BrotliDecompressionStream, which is a Core::Stream
that can decompress another Core::Stream.
2022-05-21 22:41:40 +02:00

32 lines
592 B
C++

/*
* Copyright (c) 2022, Michiel Visser <opensource@webmichiel.nl>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/ByteBuffer.h>
namespace Compress {
class BrotliDictionary {
public:
enum TransformationOperation {
Identity,
FermentFirst,
FermentAll,
OmitFirst,
OmitLast,
};
struct Transformation {
StringView prefix;
TransformationOperation operation;
u8 operation_data;
StringView suffix;
};
static ErrorOr<ByteBuffer> lookup_word(size_t index, size_t length);
};
}