|
Boost : |
Subject: [boost] [msm]intarnal_transition_table's behavior
From: Takatoshi Kondo (kondo_at_[hidden])
Date: 2011-07-19 21:52:09
Hello,
When I was trying to answer an another thread,
I encountered strange behavior.
(Re: [boost] [msm]exit pseudo state and event)
See 18_InternalTransitionTableTest.cpp. (attached file)
I believe that internal_transition_table should work correctly
without transition_table.
Here is internal_transition_table.
// Internal Transition table
struct internal_transition_table : mpl::vector<
// Event Action Guard
msmf::Internal < Event1, Action1_1 ,Guard1_1 >
> {};
But Event1 isn't dispatched. I don't understand why.
When I add transition_table that includes the Event1,
internal_transition_table works correctly.
#if 1 // Why is it needed?
// Transition table
struct transition_table:mpl::vector<
// Start Event Next Action Guard
msmf::Row < State1_1, Event1, State1_2, msmf::none, msmf::none > // OK
// msmf::Row < State1_1, Event2, State1_2, msmf::none, msmf::none > // NG
> {};
#endif
But if transition_table don't have Event1,
internal_transition_table doesn't work correctly.
msmf::Row < State1_1, Event2, State1_2, msmf::none, msmf::none > // NG
I suspect it is bug.
How do you think?
Thanks,
Takatoshi
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk