$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r74260 - trunk/boost/move
From: igaztanaga_at_[hidden]
Date: 2011-09-06 07:44:21
Author: igaztanaga
Date: 2011-09-06 07:44:20 EDT (Tue, 06 Sep 2011)
New Revision: 74260
URL: http://svn.boost.org/trac/boost/changeset/74260
Log:
Fixed error with convertible types in move helpers
Text files modified: 
   trunk/boost/move/move.hpp         |     6 +++---                                  
   trunk/boost/move/move_helpers.hpp |    16 ++++++++--------                        
   2 files changed, 11 insertions(+), 11 deletions(-)
Modified: trunk/boost/move/move.hpp
==============================================================================
--- trunk/boost/move/move.hpp	(original)
+++ trunk/boost/move/move.hpp	2011-09-06 07:44:20 EDT (Tue, 06 Sep 2011)
@@ -121,7 +121,7 @@
       class false_t { char dummy[2]; };
       static true_t dispatch(U);
       static false_t dispatch(...);
-      static T trigger();
+      static T &trigger();
       public:
       enum { value = sizeof(dispatch(trigger())) == sizeof(true_t) };
    };
@@ -718,13 +718,13 @@
 
 template <class I>
 struct is_move_iterator
-   : public BOOST_MOVE_MPL_NS::integral_constant<bool, false>
+   : public BOOST_MOVE_BOOST_NS::integral_constant<bool, false>
 {
 };
 
 template <class I>
 struct is_move_iterator< ::boost::move_iterator<I> >
-   : public BOOST_MOVE_MPL_NS::integral_constant<bool, true>
+   : public BOOST_MOVE_BOOST_NS::integral_constant<bool, true>
 {
 };
 
Modified: trunk/boost/move/move_helpers.hpp
==============================================================================
--- trunk/boost/move/move_helpers.hpp	(original)
+++ trunk/boost/move/move_helpers.hpp	2011-09-06 07:44:20 EDT (Tue, 06 Sep 2011)
@@ -27,9 +27,9 @@
 #if defined(BOOST_NO_RVALUE_REFERENCES)
 struct not_a_type;
 #define BOOST_MOVE_CATCH_CONST(U)  \
-   typename ::boost::mpl::if_< ::boost::is_class<T>, BOOST_CATCH_CONST_RLVALUE(U), const U &>::type
+   typename ::boost::mpl::if_< ::boost::is_class<U>, BOOST_CATCH_CONST_RLVALUE(U), const U &>::type
 #define BOOST_MOVE_CATCH_RVALUE(U)\
-   typename ::boost::mpl::if_< ::boost::is_class<T>, BOOST_RV_REF(T), not_a_type>::type
+   typename ::boost::mpl::if_< ::boost::is_class<U>, BOOST_RV_REF(U), not_a_type>::type
 #define BOOST_MOVE_CATCH_FWD(U) BOOST_FWD_REF(U)
 #else
 #define BOOST_MOVE_CATCH_CONST(U)  const U &
@@ -60,9 +60,9 @@
 \
    template<class BOOST_MOVE_TEMPL_PARAM>\
    typename ::boost::enable_if_c\
-                     <  ::boost::is_class<BOOST_MOVE_TEMPL_PARAM>::value   &&\
-                       !::boost::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value &&\
-                       !::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>::value\
+                     < (!::boost::is_class<BOOST_MOVE_TEMPL_PARAM>::value || \
+                        !::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>::value) && \
+                       !::boost::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value \
                      , RETURN_VALUE >::type\
    PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\
    {\
@@ -127,9 +127,9 @@
 \
    template<class BOOST_MOVE_TEMPL_PARAM>\
    typename ::boost::enable_if_c\
-                     <  ::boost::is_class<BOOST_MOVE_TEMPL_PARAM>::value   &&\
-                       !::boost::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value &&\
-                       !::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>::value\
+                     < (!::boost::is_class<BOOST_MOVE_TEMPL_PARAM>::value || \
+                        !::boost::move_detail::is_rv<BOOST_MOVE_TEMPL_PARAM>::value) && \
+                       !::boost::is_same<TYPE, BOOST_MOVE_TEMPL_PARAM>::value \
                      , RETURN_VALUE >::type\
    PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\
    {\