qfsm.h
来自「这是状态机的一个框架结构的例子,可以作为状态机的基本架构」· C头文件 代码 · 共 35 行
H
35 行
/********************************************************************
* 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
typedef void (*QFsmState)(struct QFsm *, QEvent const *);
SUBCLASS(QFsm, Object) /* Quantum Finite State Machine base class */
QFsmState state__; /* the active state */
VTABLE(QFsm, Object)
METHODS
/* public methods */
#define QFsmInit(me_, e_) ((*(me_)->state__)((me_), (e_)))
/* "inline" methods */
#define QFsmDispatch(me_, e_) (*(me_)->state__)((me_), (e_))
#define QFsmGetState(me_) ((me_)->state__)
/* protected methods */
QFsm *QFsmCtor_(QFsm *me, QFsmState initial); /* Ctor */
void QFsmXtor_(QFsm *me); /* Xtor */
#define QFSM_TRAN(target_) \
(((QFsm *)me)->state__ = (QFsmState)(target_))
/* static methods (no "me" pointer) */
char const *QFsmGetVersion(void);
END_CLASS
#endif /* qfsm_h */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?