Native LZ4 block and frame coding implementation. More...
#include <algorithm>#include <array>#include <cstddef>#include <cstdint>#include <iterator>#include <limits>#include <optional>#include <span>#include <type_traits>#include <vector>#include <rpnx/compression/implementation/io.hpp>Go to the source code of this file.
Classes | |
| class | rpnx::compression::lz4_codec::xxhash32_accumulator |
| Incremental XXH32 accumulator for streamed LZ4 content checksums. More... | |
Namespaces | |
| namespace | rpnx::compression |
| Facilities for creating and decoding supported compressed streams. | |
| namespace | rpnx::compression::lz4_codec |
| Internal implementation of LZ4 frame compression and decompression. | |
Functions | |
| std::uint32_t | rpnx::compression::lz4_codec::rotate_left (std::uint32_t value, std::uint8_t count) noexcept |
| Rotates a 32-bit value left without compiler-specific intrinsics. | |
| std::uint32_t | rpnx::compression::lz4_codec::read_word (std::span< std::byte const > input, std::size_t offset) noexcept |
| Reads an unchecked little-endian word from a known-valid range. | |
| std::uint32_t | rpnx::compression::lz4_codec::xxhash32 (std::span< std::byte const > input, std::uint32_t seed=0U) noexcept |
| Computes XXH32 as required by the LZ4 frame format. | |
| void | rpnx::compression::lz4_codec::append_extended_length (std::vector< std::byte > &output, std::size_t length) |
| Encodes an extended LZ4 literal or match length. | |
| std::vector< std::byte > | rpnx::compression::lz4_codec::compress_block (std::span< std::byte const > input, std::int32_t level) |
| Compresses one independent LZ4 block. | |
| std::size_t | rpnx::compression::lz4_codec::read_extended_length (std::span< std::byte const > input, std::size_t &position, std::size_t initial) |
| Reads an LZ4 extended length while checking block bounds. | |
| template<std::input_iterator input_iterator, std::sentinel_for< input_iterator > sentinel, typename output_iterator> | |
| output_iterator | rpnx::compression::lz4_codec::compress (input_iterator first, sentinel last, output_iterator output, compression_options const &options) |
| Compresses an iterator range as an LZ4 frame. | |
| template<std::input_iterator input_iterator, std::sentinel_for< input_iterator > sentinel, typename output_iterator> | |
| output_iterator | rpnx::compression::lz4_codec::decompress (input_iterator first, sentinel last, output_iterator output, decompression_options const &options) |
| Decompresses one or more LZ4 frames. | |
Native LZ4 block and frame coding implementation.
Definition in file lz4.hpp.