?? myqueue.h
字號:
//////////////////////////////////////////////////////////////////////
// MyQueue.h: interface for the CMyQueue class.
// 雙向隊列支持FIFO規則
//////////////////////////////////////////////////////////////////////
#ifndef _MYQUEUE_H_
#define _MYQUEUE_H_
#include "BasicDefine.h"
class CQueueNode
{
public:
CQueueNode(INT32 iSize);
~CQueueNode();
public:
UINT32 iNodeSize; //節點大小 (單位:字節)
void* nContent; //節點內容
CQueueNode* prevNode; //前個節點
CQueueNode* nextNode; //后個節點
};
class CMyQueue
{
public:
CMyQueue();
~CMyQueue();
public:
INT32 InitQueue(INT32 iMaxSum,INT32 iMaxSize); //m_iMaxSum = iMaxSum m_iNodeSum = iMaxSize
INT32 InsertNode(void* nContent,INT32 iSize); //入隊
INT32 GetDelNode(void* nContent,INT32 iSize); //出隊
INT32 InsertHead(void* nContent,INT32 iSize); //插入到頭節點
INT32 GetUsedSum(); //return this->m_iCurrSum;
INT32 GetFreeSum(); //return (this->m_iMaxSum - this->m_iCurrSum);
INT32 RemoveAll(); //釋放所有節點
INT32 SetNodeSize(INT32 iSize); //未實現
public:
CQueueNode* m_qHeader;
CQueueNode* m_qTailer;
public:
INT32 m_iMaxSum; //隊列的最大節點數
INT32 m_iCurrSum; //隊列當前的節點數
INT32 m_iNodeSize; //節點的最大申請空間(byte) 超過該大小則作截斷處理
INT32 m_iMemUsed; //隊列當前所用的內存大小(byte)
public:
pthread_mutex_t m_lUsedMutex;
};
#endif // _MYQUEUE_H_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -