Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::Compressor类 参考

压缩器 更多...

#include <Compressor.h>

Public 类型

using OutputStream = sese::io::OutputStream
 

Public 成员函数

 Compressor (CompressionType type, size_t level, size_t buffer_size=ZLIB_CHUNK_SIZE)
 
virtual ~Compressor ()
 释放资源
 
void input (const void *input, unsigned int input_size)
 
int deflate (OutputStream *out)
 
int reset ()
 
size_t getTotalIn () const
 
size_t getTotalOut () const
 

Private 属性

void * stream
 
size_t cap = 0
 表示 buffer 分配空间大小
 
size_t length = 0
 表示 buffer 填充大小
 
size_t read = 0
 表示 buffer 已读部分
 
unsigned char * buffer
 内部缓存 buffer
 

详细描述

压缩器

成员类型定义说明

◆ OutputStream

构造及析构函数说明

◆ Compressor()

sese::Compressor::Compressor ( sese::CompressionType type,
size_t level,
size_t buffer_size = ZLIB_CHUNK_SIZE )
explicit

创建一个压缩器

参数
type压缩格式 - 此处不建议使用 GZIP 选项
level压缩等级
buffer_size设置内部缓存大小

引用了 buffer, cap , 以及 stream.

◆ ~Compressor()

sese::Compressor::~Compressor ( )
virtual

释放资源

成员函数说明

◆ deflate()

int sese::Compressor::deflate ( OutputStream * out)

进行压缩

参数
out压缩后的数据输出流
返回值
Z_OK(0)当前缓存块已压缩完成
Z_STREAM_ERROR(-2)其他错误
Z_BUF_ERROR(-5)输出流容量不足

引用了 read() , 以及 sese::io::OutputStream::write().

◆ getTotalIn()

size_t sese::Compressor::getTotalIn ( ) const
nodiscard

当前已处理输入缓存大小

返回
缓存大小

◆ getTotalOut()

size_t sese::Compressor::getTotalOut ( ) const
nodiscard

当前已处理输出缓存大小

返回
缓存大小

引用了 read().

◆ input()

void sese::Compressor::input ( const void * input,
unsigned int input_size )

设置欲压缩的缓存

参数
input欲压缩的缓存
input_size此缓存的大小

◆ reset()

int sese::Compressor::reset ( )

重置 z_stream 对象

返回
结果

引用了 read().

类成员变量说明

◆ buffer

unsigned char* sese::Compressor::buffer
private

内部缓存 buffer

被这些函数引用 Compressor().

◆ cap

size_t sese::Compressor::cap = 0
private

表示 buffer 分配空间大小

被这些函数引用 Compressor().

◆ length

size_t sese::Compressor::length = 0
private

表示 buffer 填充大小

◆ read

size_t sese::Compressor::read = 0
private

表示 buffer 已读部分

◆ stream

void* sese::Compressor::stream
private

被这些函数引用 Compressor().


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