【发布时间】:2012-08-29 00:56:48
【问题描述】:
如果我为事件添加属性,我知道我可以像使用函数一样使用事件名称...
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 的值?
最后,
有没有办法在对象创建后改变属性?
例如,我想为状态机设置一个属性,并且在我的一个状态中,记住一些我可以存储在状态机中的信息。 (在这种情况下,我想存储一个套接字。)
谢谢。
【问题讨论】:
标签: boost-msm