|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r63157 - in branches/release/boost/msm: . back front/euml
From: christophe.j.henry_at_[hidden]
Date: 2010-06-20 15:30:08
Author: chenry
Date: 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
New Revision: 63157
URL: http://svn.boost.org/trac/boost/changeset/63157
Log:
merged from trunk
Properties modified:
branches/release/boost/msm/ (props changed)
Text files modified:
branches/release/boost/msm/back/state_machine.hpp | 16 ++++++------
branches/release/boost/msm/front/euml/common.hpp | 44 +++++++++++++++++++++++++++------
branches/release/boost/msm/front/euml/container.hpp | 52 ++++++++++++++++++++++++++++++++++++++++
branches/release/boost/msm/front/euml/operator.hpp | 6 ++++
branches/release/boost/msm/front/euml/state_grammar.hpp | 8 +++++
branches/release/boost/msm/front/euml/transformation.hpp | 4 +++
6 files changed, 113 insertions(+), 17 deletions(-)
Modified: branches/release/boost/msm/back/state_machine.hpp
==============================================================================
--- branches/release/boost/msm/back/state_machine.hpp (original)
+++ branches/release/boost/msm/back/state_machine.hpp 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
@@ -1402,7 +1402,7 @@
table::instance.entries[self_->m_states[region_id::value]](
*self_, region_id::value , self_->m_states[region_id::value], evt);
result_ = (HandledEnum)((int)result_ | (int)res);
- In< ::boost::mpl::int_<region_id::value+1> >::template process(evt,self_,result_);
+ In< ::boost::mpl::int_<region_id::value+1> >::process(evt,self_,result_);
}
};
template <int Dummy>
@@ -1420,7 +1420,7 @@
{
// use this table as if it came directly from the user
typedef dispatch_table<library_sm,complete_table,Event,CompilePolicy> table;
- In< ::boost::mpl::int_<0> >::template process(evt,self,result);
+ In< ::boost::mpl::int_<0> >::process(evt,self,result);
}
library_sm* self;
@@ -1844,7 +1844,7 @@
::boost::mpl::for_each<state_list, ::boost::msm::wrap< ::boost::mpl::placeholders::_1> >
(entry_exit_helper<Event,true>(self_->m_states[region_id::value],incomingEvent,self_));
region_start_helper
- < ::boost::mpl::int_<region_id::value+1> >::template do_start(self_,incomingEvent);
+ < ::boost::mpl::int_<region_id::value+1> >::do_start(self_,incomingEvent);
}
};
template <int Dummy>
@@ -1858,7 +1858,7 @@
template <class Event>
void start(Event const& incomingEvent)
{
- region_start_helper< ::boost::mpl::int_<0> >::template do_start(this,incomingEvent);
+ region_start_helper< ::boost::mpl::int_<0> >::do_start(this,incomingEvent);
}
// helper used to set the correct state as active state upon entry into a fsm
@@ -1966,7 +1966,7 @@
self_->m_states[region_id::value] =
self_->m_history.history_entry(incomingEvent)[region_id::value];
region_entry_exit_helper
- < ::boost::mpl::int_<region_id::value+1> >::template do_entry(self_,incomingEvent);
+ < ::boost::mpl::int_<region_id::value+1> >::do_entry(self_,incomingEvent);
}
template<class Event>
static void do_exit(library_sm* self_,Event const& incomingEvent)
@@ -1974,7 +1974,7 @@
::boost::mpl::for_each<state_list, ::boost::msm::wrap< ::boost::mpl::placeholders::_1> >
(entry_exit_helper<Event,false>(self_->m_states[region_id::value],incomingEvent,self_));
region_entry_exit_helper
- < ::boost::mpl::int_<region_id::value+1> >::template do_exit(self_,incomingEvent);
+ < ::boost::mpl::int_<region_id::value+1> >::do_exit(self_,incomingEvent);
}
};
template <int Dummy>
@@ -1991,7 +1991,7 @@
void do_entry(Event const& incomingEvent,FsmType& fsm)
{
// by default we activate the history/init states, can be overwritten by direct_event_start_helper
- region_entry_exit_helper< ::boost::mpl::int_<0> >::template do_entry(this,incomingEvent);
+ region_entry_exit_helper< ::boost::mpl::int_<0> >::do_entry(this,incomingEvent);
// block immediate handling of events
m_event_processing = true;
// if the event is generating a direct entry/fork, set the current state(s) to the direct state(s)
@@ -2005,7 +2005,7 @@
{
// first recursively exit the sub machines
// forward the event for handling by sub state machines
- region_entry_exit_helper< ::boost::mpl::int_<0> >::template do_exit(this,incomingEvent);
+ region_entry_exit_helper< ::boost::mpl::int_<0> >::do_exit(this,incomingEvent);
// then call our own exit
(static_cast<Derived*>(this))->on_exit(incomingEvent,fsm);
// give the history a chance to handle this (or not).
Modified: branches/release/boost/msm/front/euml/common.hpp
==============================================================================
--- branches/release/boost/msm/front/euml/common.hpp (original)
+++ branches/release/boost/msm/front/euml/common.hpp 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
@@ -294,14 +294,17 @@
struct No_Exception : euml_config<No_Exception>
{
typedef int no_exception_thrown;
+ No_Exception(){}
};
struct No_Msg_Queue : euml_config<No_Msg_Queue>
{
typedef int no_message_queue;
+ No_Msg_Queue(){}
};
struct Deferred_Events : euml_config<Deferred_Events>
{
typedef int activate_deferred_events;
+ Deferred_Events(){}
};
No_Exception const no_exception;
No_Msg_Queue const no_msg_queue;
@@ -328,6 +331,7 @@
struct NoAction : euml_action<NoAction>
{
+ NoAction(){}
// return value if used inside a state action (entry/exit)
template <class Event,class FSM,class STATE >
struct state_action_result
@@ -396,6 +400,7 @@
struct get_source_tag {};
struct GetSource_Helper: proto::extends< proto::terminal<get_source_tag>::type, GetSource_Helper, sm_domain>
{
+ GetSource_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -446,6 +451,7 @@
struct get_target_tag {};
struct GetTarget_Helper: proto::extends< proto::terminal<get_target_tag>::type, GetTarget_Helper, sm_domain>
{
+ GetTarget_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -498,6 +504,7 @@
struct get_state_tag {};
struct GetState_Helper: proto::extends< proto::terminal<get_state_tag>::type, GetState_Helper, sm_domain>
{
+ GetState_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -573,6 +580,7 @@
struct get_event_tag {};
struct GetEvent_Helper: proto::extends< proto::terminal<get_event_tag>::type, GetEvent_Helper, sm_domain>
{
+ GetEvent_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -648,6 +656,7 @@
struct get_fsm_tag {};
struct GetFsm_Helper: proto::extends< proto::terminal<get_fsm_tag>::type, GetFsm_Helper, sm_domain>
{
+ GetFsm_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -719,6 +728,7 @@
struct substate_tag {};
struct SubState_Helper: proto::extends< proto::terminal<substate_tag>::type, SubState_Helper, sm_domain>
{
+ SubState_Helper(){}
using proto::extends< proto::terminal<substate_tag>::type, SubState_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -784,6 +794,7 @@
};
struct GetAttribute_Helper: proto::extends< proto::terminal<get_attribute_tag>::type, GetAttribute_Helper, sm_domain>
{
+ GetAttribute_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -951,6 +962,7 @@
struct True_ : euml::euml_action<True_>
{
using euml_action<True_>::operator=;
+ True_(){}
template <class Event,class FSM,class STATE >
struct state_action_result
@@ -980,6 +992,7 @@
struct False_ : euml::euml_action<False_>
{
using euml_action<False_>::operator=;
+ False_(){}
template <class Event,class FSM,class STATE >
struct state_action_result
@@ -1314,6 +1327,7 @@
struct process_tag {};
struct Process_Helper: proto::extends< proto::terminal<process_tag>::type, Process_Helper, sm_domain>
{
+ Process_Helper(){}
using proto::extends< proto::terminal<process_tag>::type, Process_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -1451,6 +1465,7 @@
struct process2_tag {};
struct Process2_Helper : proto::extends< proto::terminal<process2_tag>::type, Process2_Helper, sm_domain>
{
+ Process2_Helper(){}
using proto::extends< proto::terminal<process2_tag>::type, Process2_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -1534,6 +1549,7 @@
};
struct Get_Flag_Helper: proto::extends< proto::terminal<get_flag_tag>::type, Get_Flag_Helper, sm_domain>
{
+ Get_Flag_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1559,6 +1575,7 @@
struct defer_event_tag {};
struct Defer_Helper : proto::extends< proto::terminal<defer_event_tag>::type, Defer_Helper, sm_domain>
{
+ Defer_Helper(){}
using proto::extends< proto::terminal<defer_event_tag>::type, Defer_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -1575,6 +1592,7 @@
struct explicit_tag {};
struct Explicit_Helper : proto::extends< proto::terminal<explicit_tag>::type, Explicit_Helper, sm_domain>
{
+ Explicit_Helper(){}
using proto::extends< proto::terminal<explicit_tag>::type, Explicit_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -1591,6 +1609,7 @@
struct entry_pt_tag {};
struct Entry_Pt_Helper : proto::extends< proto::terminal<entry_pt_tag>::type, Entry_Pt_Helper, sm_domain>
{
+ Entry_Pt_Helper(){}
using proto::extends< proto::terminal<entry_pt_tag>::type, Entry_Pt_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -1607,6 +1626,7 @@
struct exit_pt_tag {};
struct Exit_Pt_Helper : proto::extends< proto::terminal<exit_pt_tag>::type, Exit_Pt_Helper, sm_domain>
{
+ Exit_Pt_Helper(){}
using proto::extends< proto::terminal<exit_pt_tag>::type, Exit_Pt_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -1786,7 +1806,8 @@
,Param4()(evt,fsm,state),Param5()(evt,fsm,state),Param6()(evt,fsm,state));} }; \
struct function_name ## tag{}; \
struct functor ## Helper : proto::extends< proto::terminal< function_name ## tag >::type, \
- functor ## Helper , sm_domain> { template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5,class Arg6> \
+ functor ## Helper , sm_domain> { functor ## Helper(){} \
+ template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5,class Arg6> \
struct In {typedef functor <Arg1,Arg2,Arg3,Arg4,Arg5,Arg6> type;}; }; \
functor ## Helper const function_name ;
@@ -1936,7 +1957,8 @@
,Param4()(evt,fsm,state),Param5()(evt,fsm,state),Param6()(evt,fsm,state));} }; \
struct function_name ## tag{}; \
struct functor ## Helper : proto::extends< proto::terminal< function_name ## tag >::type, \
- functor ## Helper , sm_domain> { template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5,class Arg6> \
+ functor ## Helper , sm_domain> { functor ## Helper(){} \
+ template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5,class Arg6> \
struct In {typedef functor <Arg1,Arg2,Arg3,Arg4,Arg5,Arg6> type;}; }; \
functor ## Helper const function_name ;
@@ -2065,7 +2087,8 @@
,Param4()(evt,fsm,state),Param5()(evt,fsm,state));} }; \
struct function_name ## tag{}; \
struct functor ## Helper : proto::extends< proto::terminal< function_name ## tag >::type, \
- functor ## Helper , sm_domain> { template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5> \
+ functor ## Helper , sm_domain> { functor ## Helper(){} \
+ template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5> \
struct In {typedef functor <Arg1,Arg2,Arg3,Arg4,Arg5> type;}; }; \
functor ## Helper const function_name ;
@@ -2190,7 +2213,8 @@
,Param4()(evt,fsm,state),Param5()(evt,fsm,state));} }; \
struct function_name ## tag{}; \
struct functor ## Helper : proto::extends< proto::terminal< function_name ## tag >::type, \
- functor ## Helper , sm_domain> { template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5> \
+ functor ## Helper , sm_domain> { functor ## Helper(){} \
+ template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5> \
struct In {typedef functor <Arg1,Arg2,Arg3,Arg4,Arg5> type;}; }; \
functor ## Helper const function_name ;
@@ -2235,6 +2259,7 @@
struct instance_name ## _impl; \
struct instance_name ## _helper : msm::front::euml::euml_action<instance_name ## _impl> \
{ \
+ instance_name ## _helper(){} \
typedef instance_name ## _impl action_name; \
}; \
instance_name ## _helper instance_name; \
@@ -2243,6 +2268,7 @@
#define BOOST_MSM_EUML_EVENT(instance_name) \
struct instance_name ## _helper : msm::front::euml::euml_event<instance_name ## _helper>{ \
+ instance_name ## _helper(){} \
instance_name ## _helper const& operator()(){return *this;} }; \
instance_name ## _helper instance_name;
@@ -2408,12 +2434,14 @@
#define BOOST_MSM_EUML_TRANSITION_TABLE(expr,instance_name) \
struct instance_name ## _helper : \
- public BOOST_TYPEOF(BOOST_MSM_EUML_BUILD_STT_HELPER BOOST_MSM_EUML_BUILD_STT_HELPER2(expr)){} ; \
+ public BOOST_TYPEOF(BOOST_MSM_EUML_BUILD_STT_HELPER BOOST_MSM_EUML_BUILD_STT_HELPER2(expr)) \
+ {instance_name ## _helper(){}} ; \
instance_name ## _helper const instance_name;
-#define BOOST_MSM_EUML_INTERNAL_TRANSITION_TABLE(expr,instance_name) \
- struct instance_name ## _helper : \
- public BOOST_TYPEOF(BOOST_MSM_EUML_BUILD_INTERNAL_STT_HELPER BOOST_MSM_EUML_BUILD_STT_HELPER2(expr)){} ; \
+#define BOOST_MSM_EUML_INTERNAL_TRANSITION_TABLE(expr,instance_name) \
+ struct instance_name ## _helper : \
+ public BOOST_TYPEOF(BOOST_MSM_EUML_BUILD_INTERNAL_STT_HELPER BOOST_MSM_EUML_BUILD_STT_HELPER2(expr)) \
+ {instance_name ## _helper(){}} ; \
instance_name ## _helper const instance_name;
#endif
Modified: branches/release/boost/msm/front/euml/container.hpp
==============================================================================
--- branches/release/boost/msm/front/euml/container.hpp (original)
+++ branches/release/boost/msm/front/euml/container.hpp 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
@@ -67,6 +67,7 @@
struct front_tag {};
struct Front_Helper: proto::extends< proto::terminal<front_tag>::type, Front_Helper, sm_domain>
{
+ Front_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -121,6 +122,7 @@
struct back_tag {};
struct Back_Helper: proto::extends< proto::terminal<back_tag>::type, Back_Helper, sm_domain>
{
+ Back_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -175,6 +177,7 @@
struct begin_tag {};
struct Begin_Helper: proto::extends< proto::terminal<begin_tag>::type, Begin_Helper, sm_domain>
{
+ Begin_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -228,6 +231,7 @@
struct end_tag {};
struct End_Helper: proto::extends< proto::terminal<end_tag>::type, End_Helper, sm_domain>
{
+ End_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -282,6 +286,7 @@
struct rbegin_tag {};
struct RBegin_Helper: proto::extends< proto::terminal<rbegin_tag>::type, RBegin_Helper, sm_domain>
{
+ RBegin_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -335,6 +340,7 @@
struct rend_tag {};
struct REnd_Helper: proto::extends< proto::terminal<rend_tag>::type, REnd_Helper, sm_domain>
{
+ REnd_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -376,6 +382,7 @@
struct push_back_tag {};
struct Push_Back_Helper: proto::extends< proto::terminal<push_back_tag>::type, Push_Back_Helper, sm_domain>
{
+ Push_Back_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -417,6 +424,7 @@
struct pop_back_tag {};
struct Pop_Back_Helper: proto::extends< proto::terminal<pop_back_tag>::type, Pop_Back_Helper, sm_domain>
{
+ Pop_Back_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -458,6 +466,7 @@
struct push_front_tag {};
struct Push_Front_Helper: proto::extends< proto::terminal<push_front_tag>::type, Push_Front_Helper, sm_domain>
{
+ Push_Front_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -499,6 +508,7 @@
struct pop_front_tag {};
struct Pop_Front_Helper: proto::extends< proto::terminal<pop_front_tag>::type, Pop_Front_Helper, sm_domain>
{
+ Pop_Front_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -540,6 +550,7 @@
struct clear_tag {};
struct Clear_Helper: proto::extends< proto::terminal<clear_tag>::type, Clear_Helper, sm_domain>
{
+ Clear_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -581,6 +592,7 @@
struct list_reverse_tag {};
struct ListReverse_Helper: proto::extends< proto::terminal<list_reverse_tag>::type, ListReverse_Helper, sm_domain>
{
+ ListReverse_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -650,6 +662,7 @@
struct list_unique_tag {};
struct ListUnique_Helper: proto::extends< proto::terminal<list_unique_tag>::type, ListUnique_Helper, sm_domain>
{
+ ListUnique_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -719,6 +732,7 @@
struct list_sort_tag {};
struct ListSort_Helper: proto::extends< proto::terminal<list_sort_tag>::type, ListSort_Helper, sm_domain>
{
+ ListSort_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -772,6 +786,7 @@
struct capacity_tag {};
struct Capacity_Helper: proto::extends< proto::terminal<capacity_tag>::type, Capacity_Helper, sm_domain>
{
+ Capacity_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -825,6 +840,7 @@
struct size_tag {};
struct Size_Helper: proto::extends< proto::terminal<size_tag>::type, Size_Helper, sm_domain>
{
+ Size_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -878,6 +894,7 @@
struct max_size_tag {};
struct Max_Size_Helper: proto::extends< proto::terminal<max_size_tag>::type, Max_Size_Helper, sm_domain>
{
+ Max_Size_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -919,6 +936,7 @@
struct reserve_tag {};
struct Reserve_Helper: proto::extends< proto::terminal<reserve_tag>::type, Reserve_Helper, sm_domain>
{
+ Reserve_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -987,6 +1005,7 @@
struct resize_tag {};
struct Resize_Helper: proto::extends< proto::terminal<resize_tag>::type, Resize_Helper, sm_domain>
{
+ Resize_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1169,6 +1188,7 @@
struct insert_tag {};
struct Insert_Helper: proto::extends< proto::terminal<insert_tag>::type, Insert_Helper, sm_domain>
{
+ Insert_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1210,6 +1230,7 @@
struct swap_tag {};
struct Swap_Helper: proto::extends< proto::terminal<swap_tag>::type, Swap_Helper, sm_domain>
{
+ Swap_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1295,6 +1316,7 @@
struct erase_tag {};
struct Erase_Helper: proto::extends< proto::terminal<erase_tag>::type, Erase_Helper, sm_domain>
{
+ Erase_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1336,6 +1358,7 @@
struct empty_tag {};
struct Empty_Helper: proto::extends< proto::terminal<empty_tag>::type, Empty_Helper, sm_domain>
{
+ Empty_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1377,6 +1400,7 @@
struct list_remove_tag {};
struct ListRemove_Helper: proto::extends< proto::terminal<list_remove_tag>::type, ListRemove_Helper, sm_domain>
{
+ ListRemove_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1418,6 +1442,7 @@
struct list_remove_if_tag {};
struct ListRemove_If_Helper: proto::extends< proto::terminal<list_remove_if_tag>::type, ListRemove_If_Helper, sm_domain>
{
+ ListRemove_If_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1487,6 +1512,7 @@
struct list_merge_tag {};
struct ListMerge_Helper: proto::extends< proto::terminal<list_merge_tag>::type, ListMerge_Helper, sm_domain>
{
+ ListMerge_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1599,6 +1625,7 @@
struct splice_tag {};
struct Splice_Helper: proto::extends< proto::terminal<splice_tag>::type, Splice_Helper, sm_domain>
{
+ Splice_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1716,6 +1743,7 @@
struct string_find_tag {};
struct StringFind_Helper: proto::extends< proto::terminal<string_find_tag>::type, StringFind_Helper, sm_domain>
{
+ StringFind_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1855,6 +1883,7 @@
struct string_rfind_tag {};
struct StringRFind_Helper: proto::extends< proto::terminal<string_rfind_tag>::type, StringRFind_Helper, sm_domain>
{
+ StringRFind_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -1967,6 +1996,7 @@
struct StringFindFirstOf_Helper:
proto::extends< proto::terminal<string_find_first_of_tag>::type, StringFindFirstOf_Helper, sm_domain>
{
+ StringFindFirstOf_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2107,6 +2137,7 @@
struct StringFindFirstNotOf_Helper:
proto::extends< proto::terminal<string_find_first_not_of_tag>::type, StringFindFirstNotOf_Helper, sm_domain>
{
+ StringFindFirstNotOf_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2247,6 +2278,7 @@
struct StringFindLastOf_Helper:
proto::extends< proto::terminal<string_find_last_of_tag>::type, StringFindLastOf_Helper, sm_domain>
{
+ StringFindLastOf_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2387,6 +2419,7 @@
struct StringFindLastNotOf_Helper:
proto::extends< proto::terminal<string_find_last_of_tag>::type, StringFindLastNotOf_Helper, sm_domain>
{
+ StringFindLastNotOf_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2402,6 +2435,7 @@
template <class Container>
struct Npos_ : euml_action<Npos_<Container> >
{
+ Npos_(){}
template <class Event,class FSM,class STATE >
struct state_action_result
{
@@ -2562,6 +2596,7 @@
struct associative_erase_tag {};
struct Associative_Erase_Helper: proto::extends< proto::terminal<associative_erase_tag>::type, Associative_Erase_Helper, sm_domain>
{
+ Associative_Erase_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2617,6 +2652,7 @@
struct associative_find_tag {};
struct Associative_Find_Helper: proto::extends< proto::terminal<associative_find_tag>::type, Associative_Find_Helper, sm_domain>
{
+ Associative_Find_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2670,6 +2706,7 @@
struct associative_count_tag {};
struct AssociativeCount_Helper: proto::extends< proto::terminal<associative_count_tag>::type, AssociativeCount_Helper, sm_domain>
{
+ AssociativeCount_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2725,6 +2762,7 @@
struct Associative_Lower_Bound_Helper: proto::extends< proto::terminal<associative_lower_bound_tag>::type,
Associative_Lower_Bound_Helper, sm_domain>
{
+ Associative_Lower_Bound_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2780,6 +2818,7 @@
struct Associative_Upper_Bound_Helper: proto::extends< proto::terminal<associative_upper_bound_tag>::type,
Associative_Upper_Bound_Helper, sm_domain>
{
+ Associative_Upper_Bound_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2834,6 +2873,7 @@
struct first_tag {};
struct First_Helper: proto::extends< proto::terminal<first_tag>::type, First_Helper, sm_domain>
{
+ First_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2888,6 +2928,7 @@
struct second_tag {};
struct Second_Helper: proto::extends< proto::terminal<second_tag>::type, Second_Helper, sm_domain>
{
+ Second_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -2951,6 +2992,7 @@
struct Associative_Equal_Range_Helper: proto::extends< proto::terminal<associative_equal_range_tag>::type,
Associative_Equal_Range_Helper, sm_domain>
{
+ Associative_Equal_Range_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3062,6 +3104,7 @@
struct substr_tag {};
struct Substr_Helper: proto::extends< proto::terminal<substr_tag>::type, Substr_Helper, sm_domain>
{
+ Substr_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3223,6 +3266,7 @@
struct string_compare_tag {};
struct StringCompare_Helper: proto::extends< proto::terminal<string_compare_tag>::type, StringCompare_Helper, sm_domain>
{
+ StringCompare_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3346,6 +3390,7 @@
struct append_tag {};
struct Append_Helper: proto::extends< proto::terminal<append_tag>::type, Append_Helper, sm_domain>
{
+ Append_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3470,6 +3515,7 @@
struct string_insert_tag {};
struct StringInsert_Helper: proto::extends< proto::terminal<string_insert_tag>::type, StringInsert_Helper, sm_domain>
{
+ StringInsert_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3576,6 +3622,7 @@
struct string_erase_tag {};
struct StringErase_Helper: proto::extends< proto::terminal<string_erase_tag>::type, StringErase_Helper, sm_domain>
{
+ StringErase_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3699,6 +3746,7 @@
struct assign_tag {};
struct StringAssign_Helper: proto::extends< proto::terminal<assign_tag>::type, StringAssign_Helper, sm_domain>
{
+ StringAssign_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3789,6 +3837,7 @@
struct string_replace_tag {};
struct StringReplace_Helper: proto::extends< proto::terminal<string_replace_tag>::type, StringReplace_Helper, sm_domain>
{
+ StringReplace_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3844,6 +3893,7 @@
struct c_str_tag {};
struct CStr_Helper: proto::extends< proto::terminal<c_str_tag>::type, CStr_Helper, sm_domain>
{
+ CStr_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3899,6 +3949,7 @@
struct string_data_tag {};
struct StringData_Helper: proto::extends< proto::terminal<string_data_tag>::type, StringData_Helper, sm_domain>
{
+ StringData_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -3999,6 +4050,7 @@
struct string_copy_tag {};
struct StringCopy_Helper: proto::extends< proto::terminal<string_copy_tag>::type, StringCopy_Helper, sm_domain>
{
+ StringCopy_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
Modified: branches/release/boost/msm/front/euml/operator.hpp
==============================================================================
--- branches/release/boost/msm/front/euml/operator.hpp (original)
+++ branches/release/boost/msm/front/euml/operator.hpp 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
@@ -159,6 +159,7 @@
};
struct If : proto::extends<proto::terminal<if_tag>::type, If, sm_domain>
{
+ If(){}
using proto::extends< proto::terminal<if_tag>::type, If, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -257,6 +258,7 @@
};
struct If_Then : proto::extends< proto::terminal<if_then_tag>::type, If_Then, sm_domain>
{
+ If_Then(){}
using proto::extends< proto::terminal<if_then_tag>::type, If_Then, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -312,6 +314,7 @@
};
struct While_Do_Helper : proto::extends< proto::terminal<while_do_tag>::type, While_Do_Helper, sm_domain>
{
+ While_Do_Helper(){}
using proto::extends< proto::terminal<while_do_tag>::type, While_Do_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -367,6 +370,7 @@
};
struct Do_While_Helper : proto::extends< proto::terminal<do_while_tag>::type, Do_While_Helper, sm_domain>
{
+ Do_While_Helper(){}
using proto::extends< proto::terminal<do_while_tag>::type, Do_While_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -424,6 +428,7 @@
};
struct For_Loop_Helper : proto::extends< proto::terminal<for_loop_tag>::type, For_Loop_Helper, sm_domain>
{
+ For_Loop_Helper(){}
using proto::extends< proto::terminal<for_loop_tag>::type, For_Loop_Helper, sm_domain>::operator=;
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
@@ -443,6 +448,7 @@
template <class T>
struct Deref_ : euml_action<Deref_<T> >
{
+ Deref_(){}
using euml_action<Deref_<T> >::operator=;
template <class Event,class FSM,class STATE >
struct state_action_result
Modified: branches/release/boost/msm/front/euml/state_grammar.hpp
==============================================================================
--- branches/release/boost/msm/front/euml/state_grammar.hpp (original)
+++ branches/release/boost/msm/front/euml/state_grammar.hpp 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
@@ -46,6 +46,7 @@
struct func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
euml_state<func_state<StateNameTag,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
{
+ func_state(){}
// grammar testing
BOOST_MPL_ASSERT_NOT(( boost::is_same<EntryFunctor,invalid_type> ));
BOOST_MPL_ASSERT_NOT(( boost::is_same<ExitFunctor,invalid_type> ));
@@ -80,6 +81,7 @@
struct entry_func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
euml_state<entry_func_state<StateNameTag,ZoneIndex,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
{
+ entry_func_state(){}
// grammar testing
BOOST_MPL_ASSERT_NOT(( boost::is_same<EntryFunctor,invalid_type> ));
BOOST_MPL_ASSERT_NOT(( boost::is_same<ExitFunctor,invalid_type> ));
@@ -120,6 +122,7 @@
euml_state<explicit_entry_func_state<StateNameTag,
ZoneIndex,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
{
+ explicit_entry_func_state(){}
// grammar testing
BOOST_MPL_ASSERT_NOT(( boost::is_same<EntryFunctor,invalid_type> ));
BOOST_MPL_ASSERT_NOT(( boost::is_same<ExitFunctor,invalid_type> ));
@@ -154,6 +157,7 @@
struct exit_func_state : public ::boost::msm::front::detail::state_base<BASE,Attributes>,
euml_state<exit_func_state<StateNameTag,Event,EntryFunctor,ExitFunctor,Attributes,Flags,Defer,BASE> >
{
+ exit_func_state(){}
// grammar testing
BOOST_MPL_ASSERT_NOT(( boost::is_same<EntryFunctor,invalid_type> ));
BOOST_MPL_ASSERT_NOT(( boost::is_same<ExitFunctor,invalid_type> ));
@@ -507,8 +511,9 @@
#define BOOST_MSM_EUML_DECLARE_ATTRIBUTE(attr_type,attr_name) \
struct attr_name ## _ \
: proto::extends< proto::terminal<msm::front::action_tag>::type, attr_name ## _, sm_domain> \
- {typedef attr_name ## _ action_name; \
+ {typedef attr_name ## _ action_name; \
typedef ::boost::fusion::pair<attr_name ## _,attr_type> attribute_type; \
+ attr_name ## _ (){} \
}; \
attr_name ## _ const attr_name;
@@ -797,6 +802,7 @@
euml_state<func_state_machine<StateNameTag,STT,Init,EntryFunctor,ExitFunctor,Attributes,Flags,
Defer,NoTransitionFunctor,OnExceptionFunctor,BASE> >
{
+ func_state_machine(){}
// grammar testing
BOOST_MPL_ASSERT_NOT(( boost::is_same<EntryFunctor,invalid_type> ));
BOOST_MPL_ASSERT_NOT(( boost::is_same<ExitFunctor,invalid_type> ));
Modified: branches/release/boost/msm/front/euml/transformation.hpp
==============================================================================
--- branches/release/boost/msm/front/euml/transformation.hpp (original)
+++ branches/release/boost/msm/front/euml/transformation.hpp 2010-06-20 15:30:06 EDT (Sun, 20 Jun 2010)
@@ -109,6 +109,7 @@
struct back_inserter_tag {};
struct BackInserter_Helper: proto::extends< proto::terminal<back_inserter_tag>::type, BackInserter_Helper, sm_domain>
{
+ BackInserter_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -163,6 +164,7 @@
struct front_inserter_tag {};
struct FrontInserter_Helper: proto::extends< proto::terminal<front_inserter_tag>::type, FrontInserter_Helper, sm_domain>
{
+ FrontInserter_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -217,6 +219,7 @@
struct inserter_tag {};
struct Inserter_Helper: proto::extends< proto::terminal<inserter_tag>::type, Inserter_Helper, sm_domain>
{
+ Inserter_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
@@ -314,6 +317,7 @@
struct transform_tag {};
struct Transform_Helper: proto::extends< proto::terminal<transform_tag>::type, Transform_Helper, sm_domain>
{
+ Transform_Helper(){}
template <class Arg1,class Arg2,class Arg3,class Arg4,class Arg5
#ifdef BOOST_MSVC
,class Arg6
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