Compression formats, options, errors, and buffer or iterator APIs. More...
#include <cstddef>#include <cstdint>#include <exception>#include <iterator>#include <optional>#include <span>#include <string>#include <type_traits>#include <utility>#include <vector>#include <rpnx/compression/implementation/bzip2.hpp>#include <rpnx/compression/implementation/deflate.hpp>#include <rpnx/compression/implementation/lz4.hpp>#include <rpnx/compression/implementation/xz.hpp>#include <rpnx/compression/implementation/zstandard.hpp>Go to the source code of this file.
Classes | |
| struct | rpnx::compression::compression_options |
| Options shared by compression operations. More... | |
| struct | rpnx::compression::decompression_options |
| Resource and stream-validation policy for decompression operations. More... | |
| class | rpnx::compression::compression_error |
| Exception raised for malformed streams, invalid options, and codec failures. More... | |
Namespaces | |
| namespace | rpnx::compression |
| Facilities for creating and decoding supported compressed streams. | |
Enumerations | |
| enum class | rpnx::compression::format : std::uint8_t { rpnx::compression::deflate , rpnx::compression::zlib , rpnx::compression::gzip , rpnx::compression::bzip2 , rpnx::compression::xz , rpnx::compression::zstandard , rpnx::compression::lz4_frame , rpnx::compression::zip } |
| Wire formats recognized by the library. More... | |
| enum class | rpnx::compression::error_code : std::uint8_t { rpnx::compression::invalid_data , rpnx::compression::invalid_option , rpnx::compression::output_limit_exceeded , rpnx::compression::trailing_data , rpnx::compression::unsupported_feature , rpnx::compression::backend_failure , rpnx::compression::insufficient_output_space } |
| Stable machine-readable categories reported by compression_error. More... | |
Functions | |
| std::vector< std::byte > | rpnx::compression::compress (format stream_format, std::span< std::byte const > input, compression_options const &options={}) |
| Compresses a contiguous byte buffer into an owning result. | |
| std::vector< std::byte > | rpnx::compression::decompress (format stream_format, std::span< std::byte const > input, decompression_options const &options={}) |
| Decompresses a contiguous byte buffer into an owning result. | |
| std::size_t | rpnx::compression::compress (format stream_format, std::span< std::byte const > input, std::span< std::byte > output, compression_options const &options={}) |
| Compresses into caller-owned storage. | |
| std::size_t | rpnx::compression::decompress (format stream_format, std::span< std::byte const > input, std::span< std::byte > output, decompression_options const &options={}) |
| Decompresses into caller-owned storage. | |
| template<std::input_iterator input_iterator, std::sentinel_for< input_iterator > sentinel, typename output_iterator> | |
| output_iterator | rpnx::compression::compress (format stream_format, input_iterator first, sentinel last, output_iterator output, compression_options const &options={}) |
| Compresses an iterator range into an STL output iterator. | |
| template<format stream_format, std::input_iterator input_iterator, std::sentinel_for< input_iterator > sentinel, typename output_iterator> | |
| output_iterator | rpnx::compression::compress (input_iterator first, sentinel last, output_iterator output, compression_options const &options={}) |
| Compresses an iterator range with compile-time format dispatch. | |
| template<std::input_iterator input_iterator, std::sentinel_for< input_iterator > sentinel, typename output_iterator> | |
| output_iterator | rpnx::compression::decompress (format stream_format, input_iterator first, sentinel last, output_iterator output, decompression_options const &options={}) |
| Decompresses an iterator range into an STL output iterator. | |
| template<format stream_format, std::input_iterator input_iterator, std::sentinel_for< input_iterator > sentinel, typename output_iterator> | |
| output_iterator | rpnx::compression::decompress (input_iterator first, sentinel last, output_iterator output, decompression_options const &options={}) |
| Decompresses an iterator range with compile-time format dispatch. | |
Compression formats, options, errors, and buffer or iterator APIs.
Definition in file compression.hpp.