Subject: Re: [boost] [msm] Nested submachines and explicit state entry
From: Richard Szabo (sz.richard_at_[hidden])
Date: 2010-06-10 02:12:35
On 9 June 2010 19:36, Christophe Henry
>>> There are several reasons to this and it took me a while to figure out
>>> what was happening.
>>> The first one is that there are 2 errors in the example:
>>> RunningStateMachine::Inner1::direct<RunningStateMachine_::Inner1_> should be:
>>> As you are directly entering RunningStateMachine, not Inner1.
>>actually I have made 2 mistakes :). One above the second is that I used Inner1_
>>which is a frontend instead of Inner1 caused that the on initial transition
>>is getting triggered after entry of Inner1
> Ah yes I forgot that I corrected that one too.
>>I found it even strange that it compiles when the frontend of and
>>inner state machine is used in the outer state machine transition
> This surprises me a little because I tried with g++ 4.4 to replace in
> the corrected example Inner1 by Inner1_ in SM1's table and the
> compiler correctly complained. What did you do?
Well I have added to the little example a PseudoEntry1 state for the
I have added a new row to the RunningStateMachine_ transition table
form the PseudoEntry1
on reception of even1 go to Inner1_ and with VC9 it compiles with both
ways without and error.
_row < PseudoEntry1 , event1 , Inner1_
_row < PseudoEntry1 , event1 , Inner1
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk