equal
deleted
inserted
replaced
37 Note that the last row of STATE_ELEMENT array must NOT have a ConditionFunction entry |
37 Note that the last row of STATE_ELEMENT array must NOT have a ConditionFunction entry |
38 and it must have a NextState entry != Eignore. Otherwise the state machine will |
38 and it must have a NextState entry != Eignore. Otherwise the state machine will |
39 not behave correctly. |
39 not behave correctly. |
40 |
40 |
41 */ |
41 */ |
42 /*! Add macro with token pasting to make creation of the state machine tables easier |
42 /*! Add macro without token pasting to make creation of the state machine tables easier |
43 and removing the necessity to write the classname twice. |
43 and removing the necessity to write the classname twice. |
44 Maybe there would be some better way to do this using templates and typedefs? |
44 Maybe there would be some better way to do this using templates and typedefs? |
45 */ |
45 */ |
46 #define CND(x) isF<CStateEngine,&CStateEngine::##x> |
46 #define CND(x) isF<CStateEngine,&CStateEngine::x> |
47 #define ACT(x) aF<CStateEngine,&CStateEngine::##x> |
47 #define ACT(x) aF<CStateEngine,&CStateEngine::x> |
48 |
48 |
49 /********************************************************************************* |
49 /********************************************************************************* |
50 * empty statedef as a dummy entry |
50 * empty statedef as a dummy entry |
51 * */ |
51 * */ |
52 const STATE_ELEMENT __ErrorEvent[1] = { |
52 const STATE_ELEMENT __ErrorEvent[1] = { |