イベントに属性を追加すると、イベント名を関数のように使用できることがわかります...
BOOST_MSM_EUML_EVENT_WITH_ATTRIBUTES(*someEvent*, *someAttributeList*)
someStateMachine.process_event(
someEvent (
valueOfSomeAttribute1, // sets the attribute value here
valueOfSomeAttribute2))
そして、アクションの中で、書くことでこれを取り戻すことができます
evt.get_attribute(someAttribute1); // retrieve the attribute value
ここで、マシン全体に属性を設定すると、次のようになります。
BOOST_MSM_EUML_DECLARE_STATE_MACHINE((transition_table,
init_ << initState,
Entry_Action,
Exit_Action,
attributes_ << someAttribute1 << someAttribute2,
configure_<< someConfigurationStuff ),
newStateMachineType)
someAttribute1 の値を設定するにはどうすればよいですか?
州に対する同じ質問:
BOOST_MSM_EUML_STATE(
(someEntryAction,
someExitAction,
attributes_ << someAttribute1,
configure_<< someConfigurationStuff)
,newStateName)
someAttribute1 の値を設定するにはどうすればよいですか?
ついに、
オブジェクトの作成後に属性を変更する方法はありますか?
たとえば、ステート マシンの属性を設定したいのですが、状態の 1 つで、ステート マシンに保存できる情報を覚えておきます。(この場合、ソケットを格納したい。)
ありがとう。