fifoqueu.h

来自「嵌入式DOS系统上位升级程序FileUpgrade, 需配合本人上传的FileU」· C头文件 代码 · 共 45 行

H
45
字号
//CFifo.h 实现先入先出的队列类
//#include"FifoQueu.h" 
#ifndef _CLASS_CFIFOQUEUE_
#define _CLASS_CFIFOQUEUE_
template <class T,unsigned long int MaxBuf> class CFifoQueue
{
public:
	CFifoQueue()
	{
		mHead=mTail=0;
	}
	void operator +=(T Tdata)
	{
		mData[mTail++]=Tdata;
		if(mTail==MaxBuf) mTail=0;
		if(mHead==mTail) 
		{ 	mHead++; 
			if(mHead==MaxBuf) mHead=0;
		}
	}
	void AddData(T Tdata)
	{
		mData[mTail++]=Tdata;
		if(mTail==MaxBuf) mTail=0;
		if(mHead==mTail) 
		{ 	mHead++; 
			if(mHead==MaxBuf) mHead=0;
		}
	}
	char GetData(T &Tdata)
	{	
		if(mHead==mTail) return 0;	
		Tdata=mData[mHead++];
		if(mHead==MaxBuf) mHead=0;
		return 1;
	}
	void Empty()
	{
		mHead=mTail=0;
	}
private:
	T mData[MaxBuf];	
	unsigned long int mHead,mTail;
};
#endif

⌨️ 快捷键说明

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