有没有办法访问 boost msm 中的所有状态(不仅是活动状态)?例如,放置在状态中的所有 UI 控件都应在调整大小事件上调整大小,而不管它们的状态是否处于活动状态。
更新:让我澄清一下,我需要某种迭代器来遍历我的状态机创建的所有对象状态。
更新#2:下面是一个例子。我需要调用所有状态的resize方法。
struct EventOne {};
struct EventTwo {};
struct StateOne : public state<> {
void resize() { }
};
struct StateTwo : public state<> {
void resize() { }
};
struct MyFsm : public state_machine_def<MyFsm> {
typedef int no_exception_thrown;
typedef StateOne initial_state;
struct transition_table : boost::mpl::vector<
// Start, Event, Next, Action, Guard
Row< StateOne, EventOne, StateTwo, none, none >,
Row< StateTwo, EventTwo, StateOne, none, none >
> {
};
};
typedef boost::msm::back::state_machine<MyFsm> Fsm;