📄 qfsm.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 + -