|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r65559 - trunk/boost/msm/front/euml
From: christophe.j.henry_at_[hidden]
Date: 2010-09-23 15:44:51
Author: chenry
Date: 2010-09-23 15:44:46 EDT (Thu, 23 Sep 2010)
New Revision: 65559
URL: http://svn.boost.org/trac/boost/changeset/65559
Log:
used a proto sub-domain for states to avoid the conflict with boost::serialization's operators << and >>
Text files modified:
trunk/boost/msm/front/euml/common.hpp | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
Modified: trunk/boost/msm/front/euml/common.hpp
==============================================================================
--- trunk/boost/msm/front/euml/common.hpp (original)
+++ trunk/boost/msm/front/euml/common.hpp 2010-09-23 15:44:46 EDT (Thu, 23 Sep 2010)
@@ -197,6 +197,18 @@
: proto::domain< proto::generator<euml_terminal>, terminal_grammar >
{};
+struct state_grammar :
+ proto::and_<
+ proto::not_<proto::address_of<proto::_> >,
+ proto::not_<proto::shift_right<proto::_,proto::_> >,
+ proto::not_<proto::shift_left<proto::_,proto::_> >,
+ proto::not_<proto::bitwise_and<proto::_,proto::_> >
+ >
+{};
+struct state_domain
+ : proto::domain< proto::generator<euml_terminal>, state_grammar,sm_domain >
+{};
+
template<typename Expr>
struct euml_terminal
: proto::extends<Expr, euml_terminal<Expr>, sm_domain>
@@ -229,10 +241,10 @@
};
};
template <class STATE>
-struct euml_state: proto::extends<typename proto::terminal<state_tag>::type, STATE, sm_domain>
+struct euml_state: proto::extends<typename proto::terminal<state_tag>::type, STATE, state_domain>
{
typedef state_tag euml_tag_type;
- using proto::extends<typename proto::terminal<state_tag>::type, STATE, sm_domain>::operator=;
+ using proto::extends<typename proto::terminal<state_tag>::type, STATE, state_domain>::operator=;
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