3
我處於這種情況,我需要修改一個我沒寫的狀態機。該狀態機使用Boost Statechart編寫。不幸的是,我覺得這段代碼難以理解,而且那個寫的代碼是在度假。如何在boost :: statechart中將對象賦予狀態?
問題很簡單,我想:我有一個變量,thing
,我想在這些狀態中使用。它代表了需要被告知事物的單一應用程序控制器。我可以給thing
什麼構造函數(或任何),使它可用於機器的狀態?
的狀態被宣告爲按照本例:
struct Pumping : sc::state< Pumping, Purifier >
{
Pumping(my_context ctx) : my_base(ctx)
{
post_event(EvPumpingStarted());
}
// ...
};
P.S.我想爲這個問題找一個更好的標題;幫助讚賞。
對於獎勵積分(如果我可以被允許劫持答案?),你會如何使用`simple_state`s,它不能從它們的構造函數訪問外部上下文? (有沒有人試圖嘗試這種方法,還是應該使用`state`來代替?) – drfrogsplat 2011-06-30 06:07:33