|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
流式压缩器 更多...
#include <lz4_compress.hpp>
Public 成员函数 | |
| stream_compressor (int level=0) | |
| 构造函数 | |
| ~stream_compressor () | |
| 析构函数 | |
| stream_compressor (stream_compressor &&other) noexcept | |
| 移动构造函数 | |
| stream_compressor & | operator= (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.hpp 第 193 行定义.
|
explicit |
构造函数
| level | 压缩级别 |
| lz4_exception | 当创建流对象失败时抛出 |
压缩级别:
被这些函数引用 operator=(), stream_compressor() , 以及 ~stream_compressor().
|
noexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
| byte_vector neforce::lz4_compressor::stream_compressor::compress | ( | const cbyte_view & | data, |
| bool | finish = false ) |
压缩数据
| data | 输入数据视图 |
| finish | 是否完成(最后一块数据) |
| lz4_exception | 当未初始化、已结束、输入块过大或压缩失败时抛出 |
输入数据块大小不能超过block_size(64KB)。
| byte_vector neforce::lz4_compressor::stream_compressor::compress | ( | string_view | data, |
| bool | finish = false ) |
|
inlinenodiscardnoexcept |
| byte_vector neforce::lz4_compressor::stream_compressor::finish | ( | ) |
完成压缩并返回剩余数据
| lz4_exception | 当未初始化时抛出 |
被这些函数引用 compress() , 以及 compress().
|
noexcept |
| void neforce::lz4_compressor::stream_compressor::reset | ( | int | level = 0 | ) |