|
Boost : |
Subject: Re: [boost] [msm]intarnal_transition_table's behavior
From: Takatoshi Kondo (kondo_at_[hidden])
Date: 2011-07-21 19:58:47
Hi, Christophe
On Thu, 21 Jul 2011 22:34:15 +0200
"Christophe Henry" <christophe.j.henry_at_[hidden]> wrote:
> > 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
>
> Hi Takatoshi,
>
> you're right, it's a bug. I just fixed it in the trunk (rev. 73289).
I double checked it. It works correctly.
Thanks for fixing bug quickly.
> Thanks for the report,
> Christophe
>
> PS: I'm in vacations from next week for 4 weeks, so I might be less
> responsive as I will have a pretty bad connection.
Enjoy your vacation! :)
Regards,
Takatoshi
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk