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_)