📄 fifo.h
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -