Boost logo

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