fifo.h

来自「利用HyfaFax传真的传输协议(与FTP协议相似),编写发送传真到目的传真服务」· C头文件 代码 · 共 67 行

H
67
字号
// Fifo.h: interface for the Fifo class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(_FIFO_H_)
#define _FIFO_H_

#include "critical.h"
#include <list>
using namespace std;

template < class T > 
class Fifo  
{
public:
	bool Put(const T &data);
	bool Get(T &data);
public:
	Fifo();

	virtual ~Fifo();
private:
	critical m_critical;    
	list<T> m_data;

};


template < class T > 
Fifo<T>::Fifo()
{
	 
}

template < class T > 
Fifo<T>::~Fifo()
{
	
}

template < class T > 
bool Fifo<T>::Get(T &data)
{
	criticalprocess process(m_critical);
	if (m_data.empty())
	{
	
		return false;
	}
	data = m_data.front();
	m_data.pop_front();

	return true;
 }


template < class T > 
bool Fifo<T>::Put(const T &data)
{
	criticalprocess process(m_critical);
	m_data.push_back(data);
	
	return true;
}

#endif 

⌨️ 快捷键说明

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