|
Boost Users : |
Subject: Re: [Boost-users] Boost MSM: No transition from submachine to external state
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2012-01-17 16:38:16
----- Original Message -----
From: stetkas
Newsgroups: gmane.comp.lib.boost.user
To: boost-users_at_[hidden]
Sent: Monday, January 16, 2012 7:37 PM
Subject: Boost MSM: No transition from submachine to externalstate
Using the following example as a template:
http://svn.boost.org/svn/boost/trunk/libs/msm/doc/HTML/examples/CompositeTutorialWithEumlTable.cpp
I am trying to create a state machine that consists of an alarm state and a composite state (submachine). When an alarm event is posted while in the composite state, the state machine is supposed to transition to the Alarm state; however, the machine complains that no transition from the composite state on the alarm event exists. This is similar to the example where the player is in playing and a stop event is received.
Below is a dumbed-down version of my state machine:
Hi again,
ah I remember now. I changed the example last june because of a problem with exit points.
If you write:
typedef boost::msm::back::state_machine<Normal_T> Normal_THelper;
struct Normal_TImpl : public Normal_THelper,
public msm::front::euml::euml_state<Normal_TImpl >
{
};
Then it will work in your case but likely fail if faced with exit points. If you have none, you can use this trick temporarily while I have a look at this.
Otherwise you'll need to use the example I just posted, eUML is still in development and an experimental front-end.
Christophe
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net