Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60617 - in sandbox/msm/boost/msm: back front front/detail front/euml
From: christophe.j.henry_at_[hidden]
Date: 2010-03-15 13:13:22


Author: chenry
Date: 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
New Revision: 60617
URL: http://svn.boost.org/trac/boost/changeset/60617

Log:
cleanup
Added:
   sandbox/msm/boost/msm/front/completion_event.hpp (contents, props changed)
   sandbox/msm/boost/msm/front/detail/common_states.hpp (contents, props changed)
Text files modified:
   sandbox/msm/boost/msm/back/dispatch_table.hpp | 2
   sandbox/msm/boost/msm/back/favor_compile_time.hpp | 2
   sandbox/msm/boost/msm/back/metafunctions.hpp | 12 ++++----
   sandbox/msm/boost/msm/back/state_machine.hpp | 22 ++++++++--------
   sandbox/msm/boost/msm/front/common_states.hpp | 52 ---------------------------------------
   sandbox/msm/boost/msm/front/euml/euml_typeof.hpp | 4 +-
   sandbox/msm/boost/msm/front/euml/state_grammar.hpp | 20 +++++++-------
   sandbox/msm/boost/msm/front/functor_row.hpp | 4 +-
   sandbox/msm/boost/msm/front/state_machine_def.hpp | 4 +-
   sandbox/msm/boost/msm/front/states.hpp | 10 +++---
   10 files changed, 41 insertions(+), 91 deletions(-)

Modified: sandbox/msm/boost/msm/back/dispatch_table.hpp
==============================================================================
--- sandbox/msm/boost/msm/back/dispatch_table.hpp (original)
+++ sandbox/msm/boost/msm/back/dispatch_table.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -183,7 +183,7 @@
     template <class EventType>
     struct default_init_cell<EventType,
                              typename ::boost::enable_if<
- typename is_automatic_event<EventType>::type>::type>
+ typename is_completion_event<EventType>::type>::type>
     {
             default_init_cell(dispatch_table* self_,cell* tofill_entries_)
                     : self(self_),tofill_entries(tofill_entries_)

Modified: sandbox/msm/boost/msm/back/favor_compile_time.hpp
==============================================================================
--- sandbox/msm/boost/msm/back/favor_compile_time.hpp (original)
+++ sandbox/msm/boost/msm/back/favor_compile_time.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -219,7 +219,7 @@
     template <class EventType>
     struct default_init_cell<EventType,
                              typename ::boost::enable_if<
- typename is_automatic_event<EventType>::type>::type>
+ typename is_completion_event<EventType>::type>::type>
     {
             default_init_cell(dispatch_table* self_,chain_row* tofill_entries_)
                     : self(self_),tofill_entries(tofill_entries_)

Modified: sandbox/msm/boost/msm/back/metafunctions.hpp
==============================================================================
--- sandbox/msm/boost/msm/back/metafunctions.hpp (original)
+++ sandbox/msm/boost/msm/back/metafunctions.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -51,7 +51,7 @@
 BOOST_MPL_HAS_XXX_TRAIT_DEF(not_real_row_tag)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(event_blocking_flag)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(explicit_entry_state)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(automatic_event)
+BOOST_MPL_HAS_XXX_TRAIT_DEF(completion_event)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(no_exception_thrown)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(no_message_queue)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(activate_deferred_events)
@@ -436,10 +436,10 @@
 
 // returns a mpl::bool_<true> if State has any delayed event
 template <class Event>
-struct is_automatic_event
+struct is_completion_event
 {
     typedef typename ::boost::mpl::if_<
- has_automatic_event<Event>,
+ has_completion_event<Event>,
         ::boost::mpl::bool_<true>,
         ::boost::mpl::bool_<false> >::type type;
 };
@@ -451,10 +451,10 @@
     typedef typename generate_event_set<Stt>::type event_list;
 
     typedef ::boost::mpl::bool_< ::boost::mpl::count_if<
- event_list,is_automatic_event< ::boost::mpl::placeholders::_1 > >::value != 0> type;
+ event_list,is_completion_event< ::boost::mpl::placeholders::_1 > >::value != 0> type;
 };
 template <class Derived>
-struct find_automatic_events
+struct find_completion_events
 {
     typedef typename create_stt<Derived>::type Stt;
     typedef typename generate_event_set<Stt>::type event_list;
@@ -462,7 +462,7 @@
     typedef typename ::boost::mpl::fold<
         event_list, ::boost::mpl::set<>,
             ::boost::mpl::if_<
- is_automatic_event< ::boost::mpl::placeholders::_2>,
+ is_completion_event< ::boost::mpl::placeholders::_2>,
                              ::boost::mpl::insert< ::boost::mpl::placeholders::_1, ::boost::mpl::placeholders::_2 >,
                              ::boost::mpl::placeholders::_1 >
>::type type;

Modified: sandbox/msm/boost/msm/back/state_machine.hpp
==============================================================================
--- sandbox/msm/boost/msm/back/state_machine.hpp (original)
+++ sandbox/msm/boost/msm/back/state_machine.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -934,7 +934,7 @@
             (call_init<InitEvent>(InitEvent(),this));
         // give a chance to handle an anonymous (eventless) transition
         handle_eventless_transitions_helper<library_sm> eventless_helper(this,true);
- eventless_helper.process_automatic_event();
+ eventless_helper.process_completion_event();
 
     }
 
@@ -978,7 +978,7 @@
             // event can be handled, processing
             // handle with lowest priority event-less transitions
             handle_eventless_transitions_helper<library_sm> eventless_helper(this,(handled!=HANDLED_FALSE));
- eventless_helper.process_automatic_event();
+ eventless_helper.process_completion_event();
 
             return ret_handled;
         }
@@ -1315,7 +1315,7 @@
     struct handle_eventless_transitions_helper
     {
         handle_eventless_transitions_helper(library_sm* , bool ){}
- void process_automatic_event(){}
+ void process_completion_event(){}
     };
     // otherwise
     template <class StateType>
@@ -1323,16 +1323,16 @@
         <StateType, typename enable_if< typename ::boost::msm::back::has_fsm_eventless_transition<StateType>::type >::type>
     {
         handle_eventless_transitions_helper(library_sm* self_, bool handled_):self(self_),handled(handled_){}
- void process_automatic_event()
+ void process_completion_event()
         {
             typedef typename ::boost::mpl::deref<
                 typename ::boost::mpl::begin<
- typename find_automatic_events<StateType>::type
+ typename find_completion_events<StateType>::type
>::type
- >::type first_automatic_event;
+ >::type first_completion_event;
             if (handled)
             {
- self->process_event(first_automatic_event() );
+ self->process_event(first_completion_event() );
             }
         }
  
@@ -1417,8 +1417,8 @@
         // generate an error on every active state
         // for state machine states contained in other state machines, do not handle
         // but let the containing sm handle the error
- // automatic events do not produce an error
- if (!handled && !is_contained() && !is_automatic_event<Event>::type::value)
+ // completion events do not produce an error
+ if (!handled && !is_contained() && !is_completion_event<Event>::type::value)
         {
             for (int i=0; i<nr_regions::value;++i)
             {
@@ -2002,8 +2002,8 @@
         return HANDLED_DEFERRED;
     }
 
- // called for automatic events. Default address set in the dispatch_table at init
- // prevents no-transition detection for automatic events
+ // called for completion events. Default address set in the dispatch_table at init
+ // prevents no-transition detection for completion events
     template <class Event>
     static HandledEnum default_eventless_transition(library_sm& fsm, int, int , Event const& e)
     {

Modified: sandbox/msm/boost/msm/front/common_states.hpp
==============================================================================
--- sandbox/msm/boost/msm/front/common_states.hpp (original)
+++ sandbox/msm/boost/msm/front/common_states.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -12,12 +12,11 @@
 #define BOOST_MSM_FRONT_COMMON_STATES_H
 
 #include <boost/mpl/int.hpp>
-
 #include <boost/mpl/vector.hpp>
 #include <boost/fusion/container/map.hpp>
 #include <boost/fusion/include/at_c.hpp>
-
 #include <boost/type_traits/add_const.hpp>
+#include <boost/msm/front/detail/common_states.hpp>
 
 namespace boost { namespace msm { namespace front
 {
@@ -32,55 +31,6 @@
     virtual ~polymorphic_state() {}
 };
 
-template <class Attributes= ::boost::fusion::map<> >
-struct inherit_attributes
-{
- // on the fly attribute creation capability
- typedef Attributes attributes_type;
- template <class Index>
- typename ::boost::fusion::result_of::at_key<attributes_type,
- Index>::type
- get_attribute(Index const&)
- {
- return ::boost::fusion::at_key<Index>(m_attributes);
- }
-
- template <class Index>
- typename ::boost::add_const<
- typename ::boost::fusion::result_of::at_key<attributes_type,
- Index>::type>::type
- get_attribute(Index const&)const
- {
- return const_cast<
- typename ::boost::add_const<
- typename ::boost::fusion::result_of::at_key< attributes_type,
- Index >::type>::type>
- (::boost::fusion::at_key<Index>(m_attributes));
- }
-
-private:
- // attributes
- Attributes m_attributes;
-};
-
-// the interface for all states. Defines entry and exit functions. Overwrite to implement for any state needing it.
-template<class USERBASE,class Attributes= ::boost::fusion::vector<> >
-struct state_base : public inherit_attributes<Attributes>, USERBASE
-{
- typedef USERBASE user_state_base;
- typedef Attributes attributes_type;
-
- // empty implementation for the states not wishing to define an entry condition
- // will not be called polymorphic way
- template <class Event,class FSM>
- void on_entry(Event const& ,FSM&){}
- template <class Event,class FSM>
- void on_exit(Event const&,FSM& ){}
- // default (empty) transition table;
- typedef ::boost::mpl::vector0<> internal_transition_table;
- typedef ::boost::mpl::vector0<> transition_table;
-};
-
 }}}
 
 #endif //BOOST_MSM_FRONT_COMMON_STATES_H

Added: sandbox/msm/boost/msm/front/completion_event.hpp
==============================================================================
--- (empty file)
+++ sandbox/msm/boost/msm/front/completion_event.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -0,0 +1,25 @@
+// Copyright 2008 Christophe Henry
+// henry UNDERSCORE christophe AT hotmail DOT com
+// This is an extended version of the state machine available in the boost::mpl library
+// Distributed under the same license as the original.
+// Copyright for the original version:
+// Copyright 2005 David Abrahams and Aleksey Gurtovoy. Distributed
+// under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MSM_FRONT_COMMON_COMPLETION_EVENT_H
+#define BOOST_MSM_FRONT_COMMON_COMPLETION_EVENT_H
+
+namespace boost { namespace msm { namespace front
+{
+
+ struct none
+ {
+ typedef int completion_event;
+ };
+
+}}}
+
+#endif //BOOST_MSM_FRONT_COMMON_COMPLETION_EVENT_H
+

Added: sandbox/msm/boost/msm/front/detail/common_states.hpp
==============================================================================
--- (empty file)
+++ sandbox/msm/boost/msm/front/detail/common_states.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -0,0 +1,76 @@
+// Copyright 2008 Christophe Henry
+// henry UNDERSCORE christophe AT hotmail DOT com
+// This is an extended version of the state machine available in the boost::mpl library
+// Distributed under the same license as the original.
+// Copyright for the original version:
+// Copyright 2005 David Abrahams and Aleksey Gurtovoy. Distributed
+// under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_MSM_FRONT_DETAILS_COMMON_STATES_H
+#define BOOST_MSM_FRONT_DETAILS_COMMON_STATES_H
+
+#include <boost/mpl/int.hpp>
+
+#include <boost/mpl/vector.hpp>
+#include <boost/fusion/container/map.hpp>
+#include <boost/fusion/include/at_c.hpp>
+
+#include <boost/type_traits/add_const.hpp>
+
+namespace boost { namespace msm { namespace front {namespace detail
+{
+template <class Attributes= ::boost::fusion::map<> >
+struct inherit_attributes
+{
+ // on the fly attribute creation capability
+ typedef Attributes attributes_type;
+ template <class Index>
+ typename ::boost::fusion::result_of::at_key<attributes_type,
+ Index>::type
+ get_attribute(Index const&)
+ {
+ return ::boost::fusion::at_key<Index>(m_attributes);
+ }
+
+ template <class Index>
+ typename ::boost::add_const<
+ typename ::boost::fusion::result_of::at_key<attributes_type,
+ Index>::type>::type
+ get_attribute(Index const&)const
+ {
+ return const_cast<
+ typename ::boost::add_const<
+ typename ::boost::fusion::result_of::at_key< attributes_type,
+ Index >::type>::type>
+ (::boost::fusion::at_key<Index>(m_attributes));
+ }
+
+private:
+ // attributes
+ Attributes m_attributes;
+};
+
+// the interface for all states. Defines entry and exit functions. Overwrite to implement for any state needing it.
+template<class USERBASE,class Attributes= ::boost::fusion::vector<> >
+struct state_base : public inherit_attributes<Attributes>, USERBASE
+{
+ typedef USERBASE user_state_base;
+ typedef Attributes attributes_type;
+
+ // empty implementation for the states not wishing to define an entry condition
+ // will not be called polymorphic way
+ template <class Event,class FSM>
+ void on_entry(Event const& ,FSM&){}
+ template <class Event,class FSM>
+ void on_exit(Event const&,FSM& ){}
+ // default (empty) transition table;
+ typedef ::boost::mpl::vector0<> internal_transition_table;
+ typedef ::boost::mpl::vector0<> transition_table;
+};
+
+}}}}
+
+#endif //BOOST_MSM_FRONT_DETAILS_COMMON_STATES_H
+

Modified: sandbox/msm/boost/msm/front/euml/euml_typeof.hpp
==============================================================================
--- sandbox/msm/boost/msm/front/euml/euml_typeof.hpp (original)
+++ sandbox/msm/boost/msm/front/euml/euml_typeof.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -26,7 +26,7 @@
 BOOST_TYPEOF_REGISTER_TEMPLATE(::boost::mpl::size_t, (unsigned int))
 
 BOOST_TYPEOF_REGISTER_TYPE(::boost::msm::front::default_base_state)
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::inherit_attributes, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::detail::inherit_attributes, 1)
 
 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::euml::func_state, 6)
 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::euml::entry_func_state, (int)(typename)(typename)(typename)(typename)(typename)(typename))
@@ -45,7 +45,7 @@
 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::euml::State_Machine_, (int))
 BOOST_TYPEOF_REGISTER_TYPE(boost::msm::front::none)
 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::Row, 5)
-BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::ActionSequence, 1)
+BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::ActionSequence_, 1)
 
 BOOST_TYPEOF_REGISTER_TYPE(boost::msm::front::euml::NoAction)
 BOOST_TYPEOF_REGISTER_TEMPLATE(boost::msm::front::euml::And_, 2)

Modified: sandbox/msm/boost/msm/front/euml/state_grammar.hpp
==============================================================================
--- sandbox/msm/boost/msm/front/euml/state_grammar.hpp (original)
+++ sandbox/msm/boost/msm/front/euml/state_grammar.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -42,7 +42,7 @@
          class Flags = ::boost::mpl::vector0<>,
          class Defer = ::boost::mpl::vector0<>,
          class BASE = ::boost::msm::front::default_base_state>
-struct func_state : public ::boost::msm::front::state_base<BASE,Attributes>,
+struct func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
                      euml_state<func_state<EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
 {
     // grammar testing
@@ -74,7 +74,7 @@
          class Flags = ::boost::mpl::vector0<>,
          class Defer = ::boost::mpl::vector0<>,
          class BASE = default_base_state>
-struct entry_func_state : public ::boost::msm::front::state_base<BASE,Attributes>,
+struct entry_func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
                            euml_state<entry_func_state<ZoneIndex,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
 {
     // grammar testing
@@ -110,7 +110,7 @@
          class Flags = ::boost::mpl::vector0<>,
          class Defer = ::boost::mpl::vector0<>,
          class BASE = default_base_state>
-struct explicit_entry_func_state : public ::boost::msm::front::state_base<BASE,Attributes>,
+struct explicit_entry_func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
                                     public ::boost::msm::front::explicit_entry<ZoneIndex>,
                                     euml_state<explicit_entry_func_state<
                                         ZoneIndex,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
@@ -144,7 +144,7 @@
          class Flags = ::boost::mpl::vector0<>,
          class Defer = ::boost::mpl::vector0<>,
          class BASE = default_base_state>
-struct exit_func_state : public ::boost::msm::front::state_base<BASE,Attributes>,
+struct exit_func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
                            euml_state<exit_func_state<Event,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
 {
     // grammar testing
@@ -180,17 +180,17 @@
    : proto::or_<
         proto::when <
                     BuildActions,
- ActionSequence<make_vector_one_row<BuildActions(proto::_)>()>()
+ ActionSequence_<make_vector_one_row<BuildActions(proto::_)>()>()
>,
         proto::when <
                     proto::comma<BuildActions,BuildActions >,
- ActionSequence<boost::mpl::push_back<
+ ActionSequence_<boost::mpl::push_back<
                         make_vector_one_row<BuildActions(proto::_left)>(),
                                                 BuildActions(proto::_right)>()>()
>,
         proto::when <
                     proto::comma<BuildActionSequence,BuildActions >,
- ActionSequence<boost::mpl::push_back<
+ ActionSequence_<boost::mpl::push_back<
                         get_sequence<BuildActionSequence(proto::_left) >(),
                                                 BuildActions(proto::_right) >() >()
>
@@ -777,7 +777,7 @@
          class NoTransitionFunctor = NoAction,
          class OnExceptionFunctor = NoAction,
          class BASE = ::boost::msm::front::default_base_state>
-struct func_state_machine : public ::boost::msm::front::state_base<BASE,Attributes>,
+struct func_state_machine : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
                              euml_state<func_state_machine<STT,Init,EntryFunctor,ExitFunctor,Attributes,Flags,
                                                         Defer,NoTransitionFunctor,OnExceptionFunctor,BASE> >
 {
@@ -1054,10 +1054,10 @@
 
 template <class Expr>
 inline
-inherit_attributes<typename boost::result_of<BuildAttributes(Expr)>::type>
+::boost::msm::front::detail::inherit_attributes<typename boost::result_of<BuildAttributes(Expr)>::type>
 build_attributes (Expr const&)
 {
- return inherit_attributes<typename boost::result_of<BuildAttributes(Expr)>::type> ();
+ return ::boost::msm::front::detail::inherit_attributes<typename boost::result_of<BuildAttributes(Expr)>::type> ();
 }
 
 template <class Expr1,class Expr2,class Attr,class Configure,class BASE>

Modified: sandbox/msm/boost/msm/front/functor_row.hpp
==============================================================================
--- sandbox/msm/boost/msm/front/functor_row.hpp (original)
+++ sandbox/msm/boost/msm/front/functor_row.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -18,7 +18,7 @@
 
 #include <boost/msm/row_tags.hpp>
 #include <boost/msm/common.hpp>
-#include <boost/msm/front/automatic_event.hpp>
+#include <boost/msm/front/completion_event.hpp>
 
 #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
 
@@ -238,7 +238,7 @@
     struct not_euml_tag{};
 
     template <class Sequence>
- struct ActionSequence
+ struct ActionSequence_
     {
         typedef Sequence sequence;
         template <class Event,class FSM,class STATE >

Modified: sandbox/msm/boost/msm/front/state_machine_def.hpp
==============================================================================
--- sandbox/msm/boost/msm/front/state_machine_def.hpp (original)
+++ sandbox/msm/boost/msm/front/state_machine_def.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -15,14 +15,14 @@
 
 #include <boost/msm/row_tags.hpp>
 #include <boost/msm/front/states.hpp>
-#include <boost/msm/front/automatic_event.hpp>
+#include <boost/msm/front/completion_event.hpp>
 #include <boost/msm/front/common_states.hpp>
 
 namespace boost { namespace msm { namespace front
 {
 
 template<class Derived,class BaseState = default_base_state>
-struct state_machine_def : public state_base<BaseState>
+struct state_machine_def : public boost::msm::front::detail::state_base<BaseState>
 {
         // tags
         // default: no flag

Modified: sandbox/msm/boost/msm/front/states.hpp
==============================================================================
--- sandbox/msm/boost/msm/front/states.hpp (original)
+++ sandbox/msm/boost/msm/front/states.hpp 2010-03-15 13:13:20 EDT (Mon, 15 Mar 2010)
@@ -44,7 +44,7 @@
 // provides the typedefs and interface. Concrete states derive from it.
 // template argument: pointer-to-fsm policy
 template<class BASE = default_base_state,class SMPtrPolicy = no_sm_ptr>
-struct state : public state_base<BASE>, SMPtrPolicy
+struct state : public boost::msm::front::detail::state_base<BASE>, SMPtrPolicy
 {
     // tags
     // default: no flag
@@ -56,7 +56,7 @@
 // terminate state simply defines the TerminateFlag flag
 // template argument: pointer-to-fsm policy
 template<class BASE = default_base_state,class SMPtrPolicy = no_sm_ptr>
-struct terminate_state : public state_base<BASE>, SMPtrPolicy
+struct terminate_state : public boost::msm::front::detail::state_base<BASE>, SMPtrPolicy
 {
     // tags
     typedef ::boost::mpl::vector<boost::msm::TerminateFlag> flag_list;
@@ -68,7 +68,7 @@
 // template argument: event which ends the interrupt
 // template argument: pointer-to-fsm policy
 template <class EndInterruptEvent,class BASE = default_base_state,class SMPtrPolicy = no_sm_ptr>
-struct interrupt_state : public state_base<BASE>, SMPtrPolicy
+struct interrupt_state : public boost::msm::front::detail::state_base<BASE>, SMPtrPolicy
 {
     // tags
     typedef ::boost::mpl::vector<boost::msm::InterruptedFlag,
@@ -94,7 +94,7 @@
 // template argument: pointer-to-fsm policy
 template<int ZoneIndex=-1,class BASE = default_base_state,class SMPtrPolicy = no_sm_ptr>
 struct entry_pseudo_state
- : public state_base<BASE>,SMPtrPolicy
+ : public boost::msm::front::detail::state_base<BASE>,SMPtrPolicy
 {
     // tags
     typedef int pseudo_entry;
@@ -110,7 +110,7 @@
 // template argument: event to forward
 // template argument: pointer-to-fsm policy
 template<class Event,class BASE = default_base_state,class SMPtrPolicy = no_sm_ptr>
-struct exit_pseudo_state : public state_base<BASE> , SMPtrPolicy
+struct exit_pseudo_state : public boost::msm::front::detail::state_base<BASE> , SMPtrPolicy
 {
     typedef Event event;
     typedef BASE Base;


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