Я нахожусь в ситуации, когда мне нужно изменить конечный автомат, который я не написал. Этот конечный автомат написан с использованием Boost Statechart . К сожалению, я нахожу этот код непроницаемым, и парень, который написал пишет, что он в отпуске.
Проблема проста, я думаю: у меня есть переменная thing
, которую я хочу использовать в некоторых из этих состояний. Он представляет собой отдельный контроллер приложения, который должен быть проинформирован о вещах. Какому конструктору (или какому-либо другому) я могу дать thing
, сделав его доступным для состояний машины?
Состояния объявлены согласно этому примеру:
struct Pumping : sc::state< Pumping, Purifier >
{
Pumping( my_context ctx ) : my_base( ctx )
{
post_event( EvPumpingStarted() );
}
// ...
};
P.S. Я хотел бы лучшего названия для этого вопроса; помощь оценена.