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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? buffer.h

?? 關于ACE的書籍,對于學習ACE很有幫助,這里只有上冊,下冊過些時候在傳.
?? H
字號:
#define  BASE_BUFFER_SIZE	1024
#define  BASE_BUFFER_INC	512

class CAutoBuffer
{
protected:
	char *buffer;							// Yeah, this is our buffer
	int nLength;							// Current length of data
	int nSize;								// Current size of buffer
	int nIncrement;							// By how much we should increment
	// when buffer is too small

	/*
	The IncreaseSize(..) function re-allocates memory space for the
	buffer and copies its current contents into the new memory space.
	*/
	__forceinline void IncreaseSize(int nIncrement_)
	{
		char *newbuf;

		newbuf = new char [nSize + nIncrement_];
		memcpy(newbuf, buffer, nSize);

		delete [] buffer;
		buffer = newbuf;
		nSize += nIncrement_;
	}

	__forceinline void IncreaseSize()
	{
		IncreaseSize(nIncrement);
	}

public:
	CAutoBuffer(int nIncrement_) : buffer(NULL),
		nLength(0),
		nIncrement(nIncrement_)
	{
		buffer = new char [BASE_BUFFER_SIZE];	// Allocate memory
		nSize = BASE_BUFFER_SIZE;
	}

	~CAutoBuffer()
	{
		if (buffer)
			delete [] buffer;					// De-allocate memory
	}

	__forceinline int GetLength(){return nLength;}
	/*
	I assume that memory can be allocated, and that the new keyword
	never returns NULL. I didn't embed error-detection in order to
	enhance performance. If there is not enough memory to be allocated,
	something is terribly wrong.

	Furthermore, no internal memory checks are performed inside the
	functions.
	*/

	/*
	AddToBuffer(..) adds data from a source buffer to the class' buffer.
	src: the source buffer
	len: the source buffer's size
	*/
	__forceinline void AddToBuffer(const char *src, int len)
	{
		if (len > 0)
		{
			if (len + nLength > nSize)
				IncreaseSize(BASE_BUFFER_INC > len ? BASE_BUFFER_INC : len);

			memcpy(buffer + nLength, src, len);
			nLength += len;
		}
	}

	/*
	AddToBufferBeg(..) adds data from a source buffer to the beginning
	of the class' buffer.
	*/
	__forceinline void AddToBufferBeg(const char *src, int len)
	{
		if (len + nLength > nSize)
			IncreaseSize(len);

		memmove(buffer + len, buffer, nLength);
		memcpy(buffer, src, len);
		nLength += len;
	}

	/*
	GetBuffer(..) copies data from the class' buffer to a destination
	buffer. dst is a pointer to the destination buffer. len is a pointer
	to an integer that specifies the size of dst. The value to which len
	points is changes by the function, to reflect the number of bytes
	transferred from the class' buffer to the destination buffer.
	*/
	__forceinline void GetBuffer(char *dst, int start, int len)
	{
		if (nLength > (start+len))
		{	// Supplied buffer is not large enough.
			GetFromBuffer(dst,start, len);
		}
		else if (nLength > start)
		{
			memcpy(dst, buffer+start, nLength);
			len = nLength-start;
			//nLength = 0;		// Clear buffer;
		}
	}

	__forceinline void GetFromBuffer(char *dst,int start, int len)
	{
		if ((len+start) > nLength)GetBuffer(dst, start,len);
		else memcpy(dst, buffer+start, len);
	}

	__forceinline char *GetBuffer()
	{
		return buffer;
	}

	__forceinline bool IsEmpty()
	{
		return (nLength == 0);
	}

	__forceinline void ReSet(){
		if (buffer)
			delete [] buffer;
		buffer = new char [BASE_BUFFER_SIZE];	// Allocate memory
		nSize = BASE_BUFFER_SIZE;
		nLength = 0;
	}

};





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女黄视频| 久久久久久久综合狠狠综合| 中文在线一区二区| 欧美高清精品3d| 亚洲激情一二三区| 精品婷婷伊人一区三区三| 亚洲欧洲制服丝袜| 欧美精品99久久久**| 一本色道久久综合亚洲91| 成人午夜免费av| 日韩成人免费在线| 在线日韩国产精品| 亚洲日本在线观看| jizz一区二区| 久久九九国产精品| 国产大陆a不卡| 91麻豆精品国产91久久久久久 | 91论坛在线播放| 三级久久三级久久| 久久蜜桃av一区二区天堂| 国产精品一区二区久久精品爱涩 | 久久久久久久综合| 91麻豆国产福利精品| 亚洲欧洲日产国码二区| 在线播放中文字幕一区| 国产成人小视频| 日韩影院精彩在线| 中文字幕在线不卡一区| 欧美久久久影院| 日韩三级视频中文字幕| 亚洲一区在线观看免费观看电影高清| 欧美va亚洲va| 中文字幕的久久| 午夜电影久久久| 国模套图日韩精品一区二区| 成人久久久精品乱码一区二区三区| 91视频你懂的| 三级在线观看一区二区| 亚洲福利视频一区| 热久久国产精品| 亚洲综合网站在线观看| 亚洲欧美一区二区三区国产精品| 国产欧美精品在线观看| 中文字幕不卡在线| 亚洲欧美一区二区三区国产精品| 亚洲欧美一区二区三区国产精品 | 夜夜爽夜夜爽精品视频| 中文字幕一区在线观看| 亚洲永久免费av| 亚洲综合激情小说| 亚洲一区二区av电影| 日韩av网站免费在线| 成人免费黄色在线| 蜜桃免费网站一区二区三区| kk眼镜猥琐国模调教系列一区二区| 久久久久99精品国产片| 成人免费观看视频| 一区二区三区中文字幕| 欧美视频在线观看一区二区| 亚洲日本韩国一区| 欧美吻胸吃奶大尺度电影 | 国产亚洲污的网站| 久久精品国产77777蜜臀| 日韩一区二区三区在线观看| 人人精品人人爱| 色成人在线视频| 蜜桃视频在线观看一区二区| 91精品国产综合久久久蜜臀粉嫩| 男男gaygay亚洲| 国产日韩欧美a| 国产一区二区三区精品视频| 91黄色免费观看| 欧美国产丝袜视频| 高清shemale亚洲人妖| 精品久久人人做人人爱| 免费成人在线影院| 欧美男人的天堂一二区| 一区二区三区日韩欧美| 91一区一区三区| 亚洲欧洲成人av每日更新| 日韩高清在线观看| 日韩三级中文字幕| 国产在线视频不卡二| 久久久蜜桃精品| 粉嫩av一区二区三区| 久久久五月婷婷| 99久久精品国产精品久久| 日韩影院免费视频| 久久久精品国产免大香伊| 亚洲国产精品天堂| 精品国产区一区| 欧美日韩免费高清一区色橹橹 | 国产综合色在线| 欧美精品v日韩精品v韩国精品v| 日本不卡123| 久久久夜色精品亚洲| 99久久综合狠狠综合久久| 亚洲自拍另类综合| 欧美sm极限捆绑bd| 成人午夜精品一区二区三区| 国产精品国产a级| 欧美日本在线播放| 丁香五精品蜜臀久久久久99网站| 亚洲欧洲国产日本综合| 欧美精品v国产精品v日韩精品 | 亚洲成人激情综合网| 中文字幕精品一区| 日韩视频一区二区| 色综合咪咪久久| 国产成a人亚洲| 蜜桃av噜噜一区| 国产婷婷一区二区| 国产亚洲精久久久久久| 欧美一区二区三区免费在线看| 99九九99九九九视频精品| 乱一区二区av| 麻豆专区一区二区三区四区五区| 午夜精品免费在线| 午夜精品久久久久久久99樱桃| 国产精品毛片无遮挡高清| 国产欧美视频一区二区| 日韩免费观看高清完整版| 欧美日本在线观看| 久久一夜天堂av一区二区三区| 欧美性生活影院| 欧美偷拍一区二区| 精品视频一区三区九区| 欧美人xxxx| 欧美一区二区在线看| 中文子幕无线码一区tr| 成人欧美一区二区三区小说| 国产精品久久三| 亚洲欧洲精品成人久久奇米网| 《视频一区视频二区| 亚洲乱码一区二区三区在线观看| 国产精品电影一区二区| 国产欧美一区二区精品仙草咪| 国产日韩欧美在线一区| 午夜欧美2019年伦理 | 亚洲一区国产视频| 麻豆极品一区二区三区| 欧美丝袜自拍制服另类| 欧美大度的电影原声| 1000精品久久久久久久久| 视频一区视频二区在线观看| 国产剧情一区二区三区| 5566中文字幕一区二区电影| 国产精品久久久久天堂| 日韩高清国产一区在线| gogo大胆日本视频一区| 欧美电影免费观看完整版| 亚洲人成网站精品片在线观看| 久久99精品国产麻豆不卡| 欧美日韩国产a| 亚洲综合小说图片| 国产成人免费视频网站高清观看视频| 欧美三级三级三级| 亚洲乱码精品一二三四区日韩在线| 国产成人精品免费在线| 久久精品一区二区三区av| 精品一区二区三区在线视频| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 综合激情成人伊人| 免费成人小视频| 欧美日韩一区二区在线观看 | 成人av网址在线观看| 91精品国产综合久久精品图片| 日韩成人免费看| 日韩欧美国产三级| 狠狠色狠狠色综合日日91app| 精品美女被调教视频大全网站| 日韩中文字幕亚洲一区二区va在线| 日韩精品乱码av一区二区| 亚洲成人资源网| 欧美又粗又大又爽| 中文字幕视频一区二区三区久| 色噜噜久久综合| 日日摸夜夜添夜夜添精品视频| 欧美高清视频在线高清观看mv色露露十八| 亚洲综合色视频| 日韩女同互慰一区二区| 国产成a人亚洲| 亚洲一区二区美女| 欧美精品一区二区高清在线观看| 日本成人超碰在线观看| 亚洲乱码国产乱码精品精小说| 在线观看国产一区二区| 久久国产精品露脸对白| 在线日韩一区二区| 激情久久五月天| 午夜伦理一区二区| 一区二区三区免费在线观看| 久久亚洲精华国产精华液| 在线免费不卡电影| 国产91丝袜在线播放| 国产成人高清视频| 蜜臀久久99精品久久久久宅男| 国产精品久久久久久久久免费相片| 欧美丰满少妇xxxbbb| 日韩一区二区麻豆国产|