📄 datacompression.h
字号:
// DataCompression.h : Define virtual class for Coder and Decoder
//
// Author: Shen Hongwei
// Date: Sep.28, 2005
// Location: Beijing, China
//
#ifndef _DataCommpression_H_
#define _DataCommpression_H_
#include "stdafx.h"
#include "BitIO.h"
virtual class Coder
{
public:
inline Coder() {};
inline ~Coder() {};
virtual inline void Init(BitIO * in, BitIO * out) { this->bit_reader = in; this->bit_writer = out; } ; // Start new mission
virtual inline void Init(BitIO * in, BitIO * out, unsigned long i_leng) { this->bit_reader = in; this->bit_writer = out; this->in_leng = i_leng;} ; // Start new mission
virtual int Run(void) = 0;
virtual bool GenNextCode() = 0; // if false, the process ends.
// virtual GenCode(const char & in, int li, char & out, int out_buf_size, int & lo); // tranform data,
// virtual GenCode(const char & in, int li, char ** out, int & lo); // tranform data,
inline unsigned long GetWriterBitsNum(void) { return(bit_writer->GetBitsNum());};
virtual void SetDebugMode(int mode) = 0;
protected:
unsigned long in_leng;
BitIO * bit_reader;
BitIO * bit_writer;
};
class CompressionHeader
{
public:
CompressionHeader(void);
~CompressionHeader(void);
void Init(fstream * p_fs);
bool ReadHeader(void);
bool WriteHeader(void);
unsigned long length; // the length of data by bits
unsigned long origin_len; // the length of data before compressed, by bits.
protected:
fstream * fs;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -