📄 dequepool.h
字号:
/* Copyright(C) 2003 by XWTEC */
/*
Name: DequePool.h Version: 1.0.0
Created by yshan Date: 20030919
Comment: deque pool class
Modified:
*/
#if !defined _DEQUE_POOL_H
#define _DEQUE_POOL_H
#include "mutex.h"
#include <deque>
using namespace std;
template<typename T,class ThreadModel=MultiThread>
class CDequePool:private ThreadModel //the template class for deque pool
{
private:
std::deque<T> m_clDeque; //内部使用的队列,注意内型T必须有安全的拷贝构造函数
public:
CDequePool()
{
}
virtual ~CDequePool()
{
FlushAll(); //队列析构时删除所有
}
public:
//content:将数据放入池中
//return :true成功
bool PutData(const T &data)
{
Lock();
m_clDeque.push_front(data);
Unlock();
return true;
}
//content:从池中数据
//return :true成功
// :false失败
bool GetData(T &theData)
{
bool result=true;
Lock();
if(!m_clDeque.empty())
{
theData=m_clDeque.back();
m_clDeque.pop_back();
}
else
{
result=false;
}
Unlock();
return result;
}
//content:删除所有数据
//return :无
void FlushAll()
{
m_clDeque.clear();
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -