qequeue.h

来自「这是状态机的一个框架结构的例子,可以作为状态机的基本架构」· C头文件 代码 · 共 32 行

H
32
字号
/******************************************************************** 
 * Quantum Event Queue declaration ("C+" version)
 * Copyright (c) 2002 Miro Samek, Palo Alto, CA.
 * All Rights Reserved.
 *******************************************************************/
#ifndef qequeue_h
#define qequeue_h

CLASS(QEQueue)                         /* event queue facility ... */
       /* OS-dependent event to block active object on empty queue */
   QF_OS_EVENT(osEvent__)    
   QEvent *frontEvt__; /*pointer to event at the front of the queue*/ 
   QEvent **start__;    /* pointer to the start of the ring buffer */
   QEvent **end__;        /* pointer to the end of the ring buffer */
   QEvent **head__;/* pointer to where next event will be inserted */
   QEvent **tail__;/* pointer to where next event will be extracted*/
   unsigned short nTot__;      /* total # of entries in the buffer */
   unsigned short nUsed__;     /* # of elements used in the buffer */
   unsigned short nMax__;/* maximum # of events ever in the buffer */
   /* friend class QF */
   /* friend class QActive */
METHODS
   QEQueue *QEQueueCtor(QEQueue *me, QEvent *qSto[], unsigned qLen);
   void QEQueueXtor(QEQueue *me);
   QEvent *QEQueueGet(QEQueue *me);
   int QEQueuePutFIFO(QEQueue *me, QEvent *e);
   int QEQueuePutLIFO(QEQueue *me, QEvent *e);
END_CLASS   

#endif                                                /* qequeue_h */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?