⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qfsm.h

📁 本程序将ucosii移入了QF框架
💻 H
字号:
/////////////////////////////////////////////////////////////////////
// Quantum Finite State Machine declarations (C++ version)
// Copyright (c) 2002 Miro Samek, Palo Alto, CA. 
// All Rights Reserved.
/////////////////////////////////////////////////////////////////////
#ifndef qfsm_h
#define qfsm_h

#ifndef qevent_h
   #include "qevent.h"
#endif

class QFsm {                       // Finite State Machine base class
public:
   typedef void (QFsm::*QFsmState)(QEvent const *);
   QFsm(QFsmState initial) { myState = initial; }             // Ctor
   virtual ~QFsm() {}                                 // virtual Xtor
   void init(QEvent const *e = 0) { (this->*myState)(e); }
   void dispatch(QEvent const *e) { (this->*myState)(e); }
   QFsmState getState() const { return myState; }
   static char const *getVersion();
protected:
   void tran(QFsmState target) { myState = target; }
   #define QFSM_TRAN(target_) \
      (tran(Q_STATIC_CAST(QFsmState, target_)))
private:
   QFsmState myState;                             // the active state
}; 

#endif                                                      // qfsm_h

⌨️ 快捷键说明

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