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

流式压缩器 更多...

#include <lz4_compress.hpp>

Public 成员函数

 stream_compressor (int level=0)
 构造函数
 ~stream_compressor ()
 析构函数
 stream_compressor (stream_compressor &&other) noexcept
 移动构造函数
stream_compressoroperator= (stream_compressor &&other) noexcept
 移动赋值运算符
byte_vector compress (const cbyte_view &data, bool finish=false)
 压缩数据
byte_vector compress (string_view data, bool finish=false)
 压缩字符串视图
byte_vector finish ()
 完成压缩并返回剩余数据
void reset (int level=0)
 重置压缩器状态
size_t bytes_input () const noexcept
 获取输入字节数
size_t bytes_output () const noexcept
 获取输出字节数
double compression_ratio () const noexcept
 获取压缩率

详细描述

流式压缩器

支持分块压缩数据,适用于大文件或网络传输场景。 维护压缩状态,可以多次添加数据并最终完成压缩。 每个数据块大小不能超过block_size(64KB)。

在文件 lz4_compress.hpp193 行定义.

构造及析构函数说明

◆ stream_compressor() [1/2]

neforce::lz4_compressor::stream_compressor::stream_compressor ( int level = 0)
explicit

构造函数

参数
level压缩级别
异常
lz4_exception当创建流对象失败时抛出

压缩级别:

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

被这些函数引用 operator=(), stream_compressor() , 以及 ~stream_compressor().

◆ stream_compressor() [2/2]

neforce::lz4_compressor::stream_compressor::stream_compressor ( stream_compressor && other)
noexcept

移动构造函数

参数
other源对象

引用了 stream_compressor().

成员函数说明

◆ bytes_input()

size_t neforce::lz4_compressor::stream_compressor::bytes_input ( ) const
inlinenodiscardnoexcept

获取输入字节数

返回
已处理的输入字节数

在文件 lz4_compress.hpp277 行定义.

◆ bytes_output()

size_t neforce::lz4_compressor::stream_compressor::bytes_output ( ) const
inlinenodiscardnoexcept

获取输出字节数

返回
已产生的输出字节数

在文件 lz4_compress.hpp283 行定义.

◆ compress() [1/2]

byte_vector neforce::lz4_compressor::stream_compressor::compress ( const cbyte_view & data,
bool finish = false )

压缩数据

参数
data输入数据视图
finish是否完成(最后一块数据)
返回
压缩后的数据块
异常
lz4_exception当未初始化、已结束、输入块过大或压缩失败时抛出

输入数据块大小不能超过block_size(64KB)。

引用了 data() , 以及 finish().

◆ compress() [2/2]

byte_vector neforce::lz4_compressor::stream_compressor::compress ( string_view data,
bool finish = false )

压缩字符串视图

参数
data字符串视图
finish是否完成
返回
压缩后的数据块
异常
lz4_exception当未初始化、已结束或压缩失败时抛出

引用了 data() , 以及 finish().

◆ compression_ratio()

double neforce::lz4_compressor::stream_compressor::compression_ratio ( ) const
inlinenodiscardnoexcept

获取压缩率

返回
输出/输入字节比率

在文件 lz4_compress.hpp289 行定义.

◆ finish()

byte_vector neforce::lz4_compressor::stream_compressor::finish ( )

完成压缩并返回剩余数据

返回
最后的压缩数据块(LZ4流式压缩完成后无额外数据)
异常
lz4_exception当未初始化时抛出

被这些函数引用 compress() , 以及 compress().

◆ operator=()

stream_compressor & neforce::lz4_compressor::stream_compressor::operator= ( stream_compressor && other)
noexcept

移动赋值运算符

参数
other源对象
返回
自身引用

引用了 stream_compressor().

◆ reset()

void neforce::lz4_compressor::stream_compressor::reset ( int level = 0)

重置压缩器状态

参数
level新压缩级别,默认为0
异常
lz4_exception当重置失败时抛出

压缩级别:

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

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