![]() |
Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
|
DEMO |
RLE/Bit-Packing Hybrid encoding and decoding (Parquet spec). More...
#include <algorithm>#include <cassert>#include <cstdint>#include <cstring>#include <vector>Go to the source code of this file.
Classes | |
| class | signet::forge::RleEncoder |
| Streaming encoder for the Parquet RLE/Bit-Packing Hybrid scheme. More... | |
| class | signet::forge::RleDecoder |
| Streaming decoder for the Parquet RLE/Bit-Packing Hybrid scheme. More... | |
Namespaces | |
| namespace | signet |
| namespace | signet::forge |
Functions | |
| size_t | signet::forge::encode_varint (std::vector< uint8_t > &buf, uint64_t value) |
| Encode an unsigned varint (LEB128) into a byte buffer. | |
| uint64_t | signet::forge::decode_varint (const uint8_t *data, size_t &pos, size_t size) |
| Decode an unsigned varint (LEB128) from a byte buffer. | |
| void | signet::forge::bit_pack_8 (std::vector< uint8_t > &out, const uint64_t *values, int bit_width) |
| Pack exactly 8 values at the given bit width into a byte buffer. | |
| void | signet::forge::bit_unpack_8 (const uint8_t *src, uint64_t *values, int bit_width) |
| Unpack exactly 8 values at the given bit width from a byte buffer. | |
RLE/Bit-Packing Hybrid encoding and decoding (Parquet spec).
Implements the RLE/Bit-Packing Hybrid encoding used throughout Parquet for definition levels, repetition levels, boolean columns, and dictionary indices (RLE_DICTIONARY encoding). Provides both streaming (RleEncoder/RleDecoder) and static convenience APIs.
Definition in file rle.hpp.