⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cyclebuf.h

📁 经常用到的 socketAPI
💻 H
字号:
//////////////////////////////////////////////////////////////////////
// CycleBuf.h
// 循环缓冲区,每次输入的长度必须小于m_nCapacity成员
// 否则当m_Head==m_Tail表示空缓冲
//////////////////////////////////////////////////////////////////////
#if !defined(CCYCLEBUF_H__)
#define CCYCLEBUF_H__
#include <iosfwd>

namespace mylib{

class CCycleBuf  
{
public:
	CCycleBuf(int Capacity=16);
	CCycleBuf(const CCycleBuf &cyc);
	virtual ~CCycleBuf();
	CCycleBuf& operator=(const CCycleBuf &cyc);

private:
    int m_nCapacity;
    int m_nHead;
	int m_nTail;
    char *m_buf;
public:
	int GetCapacity() const;
	int GetUsedLen()  const;
	int GetFreeLen()  const;
	
	void Clear();
	bool Input(const char *BufIn,int len);
	bool Output(char *BufOut,int len);
	bool Resize(int len);

    friend std::ostream& operator << (std::ostream& os, const CCycleBuf& cyc);

private:
	void Swap(CCycleBuf &cyc);
};

}//end of mylib
#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -