読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

Boost.MSM(2) - 状態マシンの実装方法

Boost Windows C++

Boost.MSMを使用した実装方法はだいたい下記のとおりである。

  • 状態マシンクラスを定義する。状態マシンクラスはmsm::front::state_machine_def<実装クラス>を継承する。
  • 状態クラスを定義する。状態クラスはmsm::front::state<>を継承する。
  • イベントクラスを定義する。
  • アクション用のファンクタもしくはメンバ関数を用意する。
  • ガード条件用のファンクタもしくはメンバ関数を用意する。
  • 状態クラス中に遷移テーブルを定義する。
  • typedef msm::back::state_machine<状態マシン> 状態実装マシン として状態マシンを実体化?する。

遷移テーブルの定義がこのライブラリの肝である。