亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? zinflate.h

?? 此文件是實(shí)現(xiàn)加解密算法的函數(shù)庫(kù)
?? H
字號(hào):
#ifndef CRYPTOPP_ZINFLATE_H
#define CRYPTOPP_ZINFLATE_H

#include "filters.h"
#include <vector>

NAMESPACE_BEGIN(CryptoPP)

//! .
class LowFirstBitReader
{
public:
	LowFirstBitReader(BufferedTransformation &store)
		: m_store(store), m_buffer(0), m_bitsBuffered(0) {}
	unsigned long BitsLeft() const {return m_store.MaxRetrievable() * 8 + m_bitsBuffered;}
	unsigned int BitsBuffered() const {return m_bitsBuffered;}
	unsigned long PeekBuffer() const {return m_buffer;}
	bool FillBuffer(unsigned int length);
	unsigned long PeekBits(unsigned int length);
	void SkipBits(unsigned int length);
	unsigned long GetBits(unsigned int length);

private:
	BufferedTransformation &m_store;
	unsigned long m_buffer;
	unsigned int m_bitsBuffered;
};

struct CodeLessThan;

//! Huffman Decoder
class HuffmanDecoder
{
public:
	typedef unsigned int code_t;
	typedef unsigned int value_t;
	enum {MAX_CODE_BITS = sizeof(code_t)*8};

	class Err : public Exception {public: Err(const std::string &what) : Exception(INVALID_DATA_FORMAT, "HuffmanDecoder: " + what) {}};

	HuffmanDecoder() {}
	HuffmanDecoder(const unsigned int *codeBitLengths, unsigned int nCodes)	{Initialize(codeBitLengths, nCodes);}

	void Initialize(const unsigned int *codeBitLengths, unsigned int nCodes);
	unsigned int Decode(code_t code, /* out */ value_t &value) const;
	bool Decode(LowFirstBitReader &reader, value_t &value) const;

private:
	friend struct CodeLessThan;

	struct CodeInfo
	{
		CodeInfo(code_t code=0, unsigned int len=0, value_t value=0) : code(code), len(len), value(value) {}
		inline bool operator<(const CodeInfo &rhs) const {return code < rhs.code;}
		code_t code;
		unsigned int len;
		value_t value;
	};

	struct LookupEntry
	{
		unsigned int type;
		union
		{
			value_t value;
			const CodeInfo *begin;
		};
		union
		{
			unsigned int len;
			const CodeInfo *end;
		};
	};

	static code_t NormalizeCode(code_t code, unsigned int codeBits);
	void FillCacheEntry(LookupEntry &entry, code_t normalizedCode) const;

	unsigned int m_maxCodeBits, m_cacheBits, m_cacheMask, m_normalizedCacheMask;
	std::vector<CodeInfo, AllocatorWithCleanup<CodeInfo> > m_codeToValue;
	mutable std::vector<LookupEntry, AllocatorWithCleanup<LookupEntry> > m_cache;
};

//! DEFLATE (RFC 1951) decompressor

class Inflator : public AutoSignaling<Filter>
{
public:
	class Err : public Exception
	{
	public:
		Err(ErrorType e, const std::string &s)
			: Exception(e, s) {}
	};
	class UnexpectedEndErr : public Err {public: UnexpectedEndErr() : Err(INVALID_DATA_FORMAT, "Inflator: unexpected end of compressed block") {}};
	class BadBlockErr : public Err {public: BadBlockErr() : Err(INVALID_DATA_FORMAT, "Inflator: error in compressed block") {}};

	/*! \param repeat decompress multiple compressed streams in series
		\param autoSignalPropagation 0 to turn off MessageEnd signal
	*/
	Inflator(BufferedTransformation *attachment = NULL, bool repeat = false, int autoSignalPropagation = -1);

	void IsolatedInitialize(const NameValuePairs &parameters);
	unsigned int Put2(const byte *inString, unsigned int length, int messageEnd, bool blocking);
	bool IsolatedFlush(bool hardFlush, bool blocking);

	virtual unsigned int GetLog2WindowSize() const {return 15;}

protected:
	ByteQueue m_inQueue;

private:
	virtual unsigned int MaxPrestreamHeaderSize() const {return 0;}
	virtual void ProcessPrestreamHeader() {}
	virtual void ProcessDecompressedData(const byte *string, unsigned int length)
		{AttachedTransformation()->Put(string, length);}
	virtual unsigned int MaxPoststreamTailSize() const {return 0;}
	virtual void ProcessPoststreamTail() {}

	void ProcessInput(bool flush);
	void DecodeHeader();
	bool DecodeBody();
	void FlushOutput();
	void OutputByte(byte b);
	void OutputString(const byte *string, unsigned int length);
	void OutputPast(unsigned int length, unsigned int distance);

	enum State {PRE_STREAM, WAIT_HEADER, DECODING_BODY, POST_STREAM, AFTER_END};
	State m_state;
	bool m_repeat, m_eof, m_decodersInitializedWithFixedCodes;
	byte m_blockType;
	word16 m_storedLen;
	enum NextDecode {LITERAL, LENGTH_BITS, DISTANCE, DISTANCE_BITS};
	NextDecode m_nextDecode;
	unsigned int m_literal, m_distance;	// for LENGTH_BITS or DISTANCE_BITS
	HuffmanDecoder m_literalDecoder, m_distanceDecoder;
	LowFirstBitReader m_reader;
	SecByteBlock m_window;
	unsigned int m_maxDistance, m_current, m_lastFlush;
};

NAMESPACE_END

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人丝袜美腿| 日本色综合中文字幕| 国产精品资源网| 久久久精品中文字幕麻豆发布| 激情综合网最新| 亚洲精品在线观看网站| 国产精品1024| 中文字幕制服丝袜成人av| 91麻豆精东视频| 一区二区三区**美女毛片| 欧美在线观看一区二区| 免费成人在线观看视频| 2023国产精品| 91小视频在线免费看| 亚洲大片免费看| 精品国产乱码久久久久久浪潮 | a在线播放不卡| 亚洲人午夜精品天堂一二香蕉| 91黄视频在线观看| 欧美日韩国产首页| 奇米一区二区三区| 国产人成亚洲第一网站在线播放 | 5566中文字幕一区二区电影| 久草这里只有精品视频| 国产精品乱人伦中文| 欧美中文字幕久久| 国产在线国偷精品产拍免费yy| 国产精品热久久久久夜色精品三区 | 欧美亚洲禁片免费| 精品亚洲国产成人av制服丝袜| 欧美激情艳妇裸体舞| 在线区一区二视频| 国产精品一区二区男女羞羞无遮挡| 中文字幕一区二区三区在线观看| 欧美日韩1区2区| 丰满亚洲少妇av| 日一区二区三区| 国产网站一区二区| 9191成人精品久久| 99国内精品久久| 激情文学综合插| 亚洲一区二区高清| 国产精品成人网| 日韩免费高清av| 欧美午夜精品久久久久久超碰| 久久国产视频网| 亚洲高清视频的网址| 国产精品午夜久久| 日韩三级av在线播放| 色偷偷88欧美精品久久久| 久久99国产精品麻豆| 亚洲码国产岛国毛片在线| 久久综合成人精品亚洲另类欧美| 欧美在线观看你懂的| 成人午夜视频在线观看| 麻豆国产精品一区二区三区| 一区二区在线观看免费| 国产视频视频一区| 精品久久人人做人人爽| 欧美日韩免费电影| 色综合久久六月婷婷中文字幕| 国产一区二区三区黄视频 | 青青草原综合久久大伊人精品| 亚洲人快播电影网| 国产精品美女久久久久久久| 欧美成人官网二区| 91精品一区二区三区在线观看| 色8久久精品久久久久久蜜| 国产成人av一区二区| 久久国产成人午夜av影院| 午夜视黄欧洲亚洲| 一区二区在线免费| 一区二区三区高清| 一区二区三区免费网站| 亚洲欧美日韩一区二区三区在线观看| 久久99精品国产麻豆婷婷| 三级一区在线视频先锋| 亚洲福利视频三区| 亚洲成人av一区| 亚洲成年人影院| 亚洲成a人在线观看| 亚洲国产精品视频| 日欧美一区二区| 免费成人av在线播放| 蜜桃91丨九色丨蝌蚪91桃色| 日韩av一区二| 久久aⅴ国产欧美74aaa| 另类小说图片综合网| 极品少妇xxxx精品少妇偷拍| 国产在线视视频有精品| 国产一区欧美一区| 国产成a人无v码亚洲福利| 国产成人自拍网| av影院午夜一区| 欧美在线观看视频在线| 欧美一卡二卡在线观看| 精品1区2区在线观看| 日本一区二区视频在线观看| 国产精品久久久久天堂| 亚洲日本在线天堂| 亚洲高清视频在线| 美国欧美日韩国产在线播放| 国产麻豆精品在线| 99精品热视频| 欧美日本不卡视频| 26uuu另类欧美亚洲曰本| 日本一区二区三区电影| 亚洲嫩草精品久久| 青青草国产成人av片免费| 狠狠网亚洲精品| 成人av高清在线| 欧美三级在线看| 久久蜜臀中文字幕| 亚洲免费观看高清完整| 日精品一区二区| 成人性生交大片免费看中文| 色吧成人激情小说| 欧美不卡一区二区三区| 国产精品久久久久三级| 日韩极品在线观看| 国产suv精品一区二区三区| 在线观看日韩国产| 精品国产乱码久久久久久影片| 亚洲欧洲三级电影| 久久99国内精品| 国产精品视频线看| 日本在线不卡一区| av在线综合网| 精品女同一区二区| 亚洲综合色自拍一区| 寂寞少妇一区二区三区| 91久久精品一区二区| 国产亚洲欧美日韩日本| 石原莉奈在线亚洲三区| 北条麻妃国产九九精品视频| 日韩欧美国产三级电影视频| 亚洲欧美日韩国产手机在线| 黑人精品欧美一区二区蜜桃| 欧美亚洲自拍偷拍| 国产精品二三区| 国产一区二区三区久久久| 欧美日韩国产小视频| 国产精品久久久久久久久久免费看| 日韩激情视频网站| 在线视频一区二区三| 亚洲欧洲国产日本综合| 国产麻豆精品在线| 欧美一区二区久久久| 亚洲一级电影视频| av日韩在线网站| 国产三级精品视频| 国模娜娜一区二区三区| 7777精品伊人久久久大香线蕉| 一区二区在线观看不卡| 成人国产电影网| 欧美国产日韩精品免费观看| 精品一区二区三区视频| 3d动漫精品啪啪一区二区竹菊| 亚洲欧美激情插 | 中文字幕精品一区二区三区精品 | 国产欧美一区二区三区网站 | 色综合网站在线| 亚洲国产高清aⅴ视频| 国产麻豆91精品| 午夜精品爽啪视频| 在线区一区二视频| 一区二区三区视频在线看| av电影在线观看一区| 国产女同互慰高潮91漫画| 国产一区二区成人久久免费影院 | 91福利视频网站| 亚洲男同性恋视频| 欧美在线播放高清精品| 一区二区三区四区视频精品免费| 不卡一区二区三区四区| 国产精品电影一区二区三区| av一二三不卡影片| 亚洲人精品一区| 在线观看www91| 天天综合天天综合色| 日韩欧美久久一区| 狠狠狠色丁香婷婷综合激情| 久久久精品免费网站| 成人爱爱电影网址| 亚洲人妖av一区二区| 欧美自拍偷拍一区| 天堂资源在线中文精品| 欧美一区二区三区视频| 久久99精品一区二区三区三区| 国产亚洲综合av| 91免费国产视频网站| 一区二区免费看| 日韩三级精品电影久久久| 国产中文字幕一区| 欧美国产精品一区二区三区| 色久优优欧美色久优优| 视频在线在亚洲| 国产午夜精品一区二区三区视频 | 韩日精品视频一区| 亚洲视频网在线直播|