ускорение сохранения диаграммы состояний / извлечения данных в конечном автомате не работает

Я хочу поделиться чем-то между состояниями, например, с переменной режима. Я сохраняю это в конечный автомат. Тем не менее, я не могу даже получить доступ к его стоимости.

struct InitState;
struct MyFsm : boost::statechart::state_machine<MyFsm, InitState> {
uint8_t mode;

MyFsm() : mode(0) {
std::cout << "mode = " << mode << std::endl;
}
};

Вышеупомянутый ctor никогда не печатает значение.

struct InitState : boost::statechart::simple_state<InitState, MyFsm > {
typedef boost::mpl::list<
boost::statechart::custom_reaction<Event1>
> reactions;

boost::statechart::result react(const Event1& e) {
context< MyFsm >().mode = 2; // This does NOT work!
}
};

Назначение также терпит неудачу выше.
Кто-нибудь знает, как заставить это работать?

Или, может быть, как лучше распределить переменные между состояниями?

Или, если boost :: statechart слишком плох для использования? Документ Boost настолько бесполезен при объяснении его API.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]