|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r77239 - trunk/boost/msm/back
From: christophe.j.henry_at_[hidden]
Date: 2012-03-05 15:17:47
Author: chenry
Date: 2012-03-05 15:17:46 EST (Mon, 05 Mar 2012)
New Revision: 77239
URL: http://svn.boost.org/trac/boost/changeset/77239
Log:
bugfix (graph building only working if initial_state is a sequence)
Text files modified:
trunk/boost/msm/back/state_machine.hpp | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
Modified: trunk/boost/msm/back/state_machine.hpp
==============================================================================
--- trunk/boost/msm/back/state_machine.hpp (original)
+++ trunk/boost/msm/back/state_machine.hpp 2012-03-05 15:17:46 EST (Mon, 05 Mar 2012)
@@ -2421,7 +2421,7 @@
{
typedef typename build_orthogonal_regions<
library_sm,
- typename Derived::initial_state
+ initial_states
>::type all_regions;
enum {region_index= find_region_index<all_regions,StateType>::value };
};
@@ -2493,6 +2493,8 @@
// entry on the FSM
(static_cast<Derived*>(self))->on_entry(evt,fsm);
int state_id = get_state_id<stt,typename EventType::active_state::wrapped_entry>::value;
+ BOOST_STATIC_ASSERT(find_region_id<typename EventType::active_state::wrapped_entry>::region_index >= 0);
+ BOOST_STATIC_ASSERT(find_region_id<typename EventType::active_state::wrapped_entry>::region_index < nr_regions::value);
// given region starts with the entry pseudo state as active state
self->m_states[find_region_id<typename EventType::active_state::wrapped_entry>::region_index] = state_id;
self->internal_start(evt.m_event);
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