ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ²ΠΈΡΡ typedef F const * state_ptr_const_t;
Π² ΠΊΠ»Π°ΡΡΠ΅ Fsm, ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Fsm. ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠ³ΠΎ?
ΠΠ°ΠΊ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°ΡΠ²ΠΈΠ»ΠΈ, Fsm ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Fsm.
ΠΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ ΠΌΠ΅ΡΠ°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΈ Ρ ΠΏΠΎΠΌΠ½Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» Ρ ΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΡΡΠΎ ΡΡΠ°Π»ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ Π½Π΅Π³ΠΎ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ tinyfsm - ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΡΡ).
ΠΠΎΡ ΠΊΠ°ΠΊ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΎΠ±ΡΡΠ²ΠΈΠ² ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°Ρ ΡΠ°Π±Π»ΠΎΠ½Π° : examples / api / multiple_switch.cpp .
Π― ΡΠΎΠ±ΠΈΡΠ°Π»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ fsm Π΄Π»Ρ ΡΡΡΡΡ AI-Π±ΠΎΡΠΎΠ² ... ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Ρ ΠΌΠ΅Π½Ρ Π½Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Fsm Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΎΡΠ°. (ΠΠΎΠ²ΠΈΡΠΎΠΊ, ΠΈΠ·ΡΡΠ°ΡΡΠΈΠΉ C ++, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π΅ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ).
Ρ ΠΌ, nvermind, Ρ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ https://www.boost.org/doc/libs/1_64_0/libs/msm, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠ½Π΅ Π±ΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ.
Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π― Ρ
ΠΎΡΠ΅Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²Π΅Π±-ΡΠΎΠΊΠ΅ΡΠΎΠ² - Π²Π΅Π±-ΡΠΎΠΊΠ΅ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠ².
_Π― Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° Boost.SML ._