NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
neforce::lz4_compressor类 参考

LZ4压缩解压缩工具类 更多...

#include <lz4_compress.hpp>

class  stream_compressor
 流式压缩器 更多...
class  stream_decompressor
 流式解压缩器 更多...

静态 Public 成员函数

template<typename Iterator>
static byte_vector compress (Iterator begin, Iterator end, const int level=0)
 压缩迭代器范围中的数据
static byte_vector compress (const string_view data, const int level=0)
 压缩字符串视图
template<typename T>
static byte_vector compress (const vector< T > &data, const int level=0)
 压缩字节向量
template<typename Iterator, enable_if_t< is_ranges_cot_iter_v< Iterator >, int > = 0>
static byte_vector decompress (Iterator begin, Iterator end, const size_t estimated_original_size=0)
 解压缩迭代器范围中的数据
static byte_vector decompress (const cbyte_view &data, const size_t estimated_original_size=0)
 解压缩常量字节视图

静态 Public 属性

static constexpr size_t block_size = 65536
 最大块大小常量

详细描述

LZ4压缩解压缩工具类

提供静态方法和流式处理类,用于数据的压缩和解压缩。 支持多种数据类型输入,包括迭代器范围、字符串视图、字节向量等。

在文件 lz4_compress.hpp58 行定义.

成员函数说明

◆ compress() [1/3]

byte_vector neforce::lz4_compressor::compress ( const string_view data,
const int level = 0 )
inlinestaticnodiscard

压缩字符串视图

参数
data字符串视图
level压缩级别
返回
压缩后的字节向量
异常
lz4_exception当压缩失败时抛出

压缩级别:

  • 0:快速压缩(默认)
  • 1-12:HC(高压缩率)模式,级别越高压缩率越高但速度越慢

在文件 lz4_compress.hpp127 行定义.

引用了 data().

◆ compress() [2/3]

template<typename T>
byte_vector neforce::lz4_compressor::compress ( const vector< T > & data,
const int level = 0 )
inlinestaticnodiscard

压缩字节向量

模板参数
T元素类型
参数
data字节向量
level压缩级别
返回
压缩后的字节向量
异常
lz4_exception当压缩失败时抛出

要求向量元素大小为1字节。 压缩级别:

  • 0:快速压缩(默认)
  • 1-12:HC(高压缩率)模式,级别越高压缩率越高但速度越慢

在文件 lz4_compress.hpp145 行定义.

引用了 data().

◆ compress() [3/3]

template<typename Iterator>
byte_vector neforce::lz4_compressor::compress ( Iterator begin,
Iterator end,
const int level = 0 )
inlinestaticnodiscard

压缩迭代器范围中的数据

模板参数
Iterator迭代器类型
参数
begin起始迭代器
end结束迭代器
level压缩级别
返回
压缩后的字节向量
异常
lz4_exception当压缩失败时抛出

要求迭代器指向的元素大小为1字节。 压缩级别:

  • 0:快速压缩(默认)
  • 1-12:HC(高压缩率)模式,级别越高压缩率越高但速度越慢

在文件 lz4_compress.hpp107 行定义.

引用了 begin(), data(), distance(), end() , 以及 is_ranges_cot_iter_v.

◆ decompress() [1/2]

byte_vector neforce::lz4_compressor::decompress ( const cbyte_view & data,
const size_t estimated_original_size = 0 )
inlinestaticnodiscard

解压缩常量字节视图

参数
data常量字节视图
estimated_original_size预估原始大小,为0时自动估计
返回
解压缩后的字节向量
异常
lz4_exception当解压缩失败或超出最大缓冲区限制时抛出

在文件 lz4_compress.hpp181 行定义.

引用了 data().

◆ decompress() [2/2]

template<typename Iterator, enable_if_t< is_ranges_cot_iter_v< Iterator >, int > = 0>
byte_vector neforce::lz4_compressor::decompress ( Iterator begin,
Iterator end,
const size_t estimated_original_size = 0 )
inlinestaticnodiscard

解压缩迭代器范围中的数据

模板参数
Iterator迭代器类型
参数
begin起始迭代器
end结束迭代器
estimated_original_size预估原始大小,为0时自动估计(默认使用压缩大小的4倍)
返回
解压缩后的字节向量
异常
lz4_exception当解压缩失败或超出最大缓冲区限制时抛出

要求迭代器指向的元素大小为1字节。

在文件 lz4_compress.hpp164 行定义.

引用了 begin(), data(), distance() , 以及 end().

类成员变量说明

◆ block_size

size_t neforce::lz4_compressor::block_size = 65536
staticconstexpr

最大块大小常量

LZ4流式压缩处理的最大数据块大小(64KB)。

在文件 lz4_compress.hpp65 行定义.


该类的文档由以下文件生成: