www.pudn.com > GDIyuvplayer.rar > CirQueue.h


// CirQueue.h: interface for the CCirQueue class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_CIRQUEUE_H__AAB25EC3_563D_4696_B5A8_CBE3A1DB4880__INCLUDED_) 
#define AFX_CIRQUEUE_H__AAB25EC3_563D_4696_B5A8_CBE3A1DB4880__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
 
class CCirQueue   
{ 
private: 
    unsigned char           **qlist; //存放队列元素的指针(数组) 
    int                       size; //队列大小(容量) 
    volatile int              front; //队首位置 
    volatile int              rear; //队尾位置(最后一个元素的下一位置) 
    volatile int              count; //队列中元素的个数 
    CCriticalSection          g_cs; 
public: 
	BOOL               CreateinHeap(); 
	void               ClearQueue(); 
	unsigned char    * QFront(); 
	unsigned char    * QOut(); 
	int                QLength(); 
	BOOL               QFull(); 
	BOOL               QEmpty(); 
	void               QInsert(unsigned char *); 
	                   CCirQueue(int ); 
	virtual           ~CCirQueue(); 
}; 
 
#endif // !defined(AFX_CIRQUEUE_H__AAB25EC3_563D_4696_B5A8_CBE3A1DB4880__INCLUDED_)