Boost logo

Boost-Commit :

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)\
    {\


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