|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r78836 - trunk/boost/msm/back
From: christophe.j.henry_at_[hidden]
Date: 2012-06-06 16:08:45
Author: chenry
Date: 2012-06-06 16:08:44 EDT (Wed, 06 Jun 2012)
New Revision: 78836
URL: http://svn.boost.org/trac/boost/changeset/78836
Log:
fixed compiler error with fsm internal table and none event
Text files modified:
trunk/boost/msm/back/dispatch_table.hpp | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
Modified: trunk/boost/msm/back/dispatch_table.hpp
==============================================================================
--- trunk/boost/msm/back/dispatch_table.hpp (original)
+++ trunk/boost/msm/back/dispatch_table.hpp 2012-06-06 16:08:44 EDT (Wed, 06 Jun 2012)
@@ -313,8 +313,12 @@
// this event is a compound one (not a real one, just one for use in event-less transitions)
// Note this event cannot be used as deferred!
+ // case for internal transitions of this fsm
template <class State>
- void operator()(boost::msm::wrap<State> const&)
+ typename ::boost::disable_if<
+ typename ::boost::is_same<State,Fsm>::type
+ ,void>::type
+ operator()(boost::msm::wrap<State> const&,boost::msm::back::dummy<0> = 0)
{
typedef typename create_stt<Fsm>::type stt;
BOOST_STATIC_CONSTANT(int, state_id = (get_state_id<stt,State>::value));
@@ -322,6 +326,15 @@
tofill_entries[state_id+1] = call_no_transition;
}
+ template <class State>
+ typename ::boost::enable_if<
+ typename ::boost::is_same<State,Fsm>::type
+ ,void>::type
+ operator()(boost::msm::wrap<State> const&,boost::msm::back::dummy<1> = 0)
+ {
+ cell call_no_transition = &Fsm::default_eventless_transition;
+ tofill_entries[0] = call_no_transition;
+ }
dispatch_table* self;
cell* tofill_entries;
};
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk