Fixed a regression with msvc 10/11/12 defect

This commit is contained in:
Kohei Takahashi
2017-11-23 22:48:11 +09:00
parent 5fd8c36079
commit 4eda545405
2 changed files with 4 additions and 2 deletions

View File

@ -1,5 +1,6 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2001-2011 Joel de Guzman
Copyright (c) 2017 Kohei Takahashi
Distributed under the Boost Software License, Version 1.0. (See accompanying Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -22,6 +23,7 @@
#include <boost/type_traits/add_reference.hpp> #include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/add_const.hpp> #include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/is_base_of.hpp> #include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/remove_cv_ref.hpp>
#include <boost/detail/workaround.hpp> #include <boost/detail/workaround.hpp>
#include <boost/core/enable_if.hpp> #include <boost/core/enable_if.hpp>
@ -178,7 +180,7 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template <typename T> template <typename T>
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
typename boost::disable_if_c< typename boost::disable_if_c<
boost::is_same<vector const, typename boost::remove_reference<T>::type const>::value boost::is_same<vector, typename boost::remove_cv_ref<T>::type>::value
, vector& , vector&
>::type >::type
operator=(T&& rhs) operator=(T&& rhs)

View File

@ -66,7 +66,7 @@ FUSION_HASH endif
#endif #endif
vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg) vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg)
#if M == 1 #if M == 1
, typename boost::disable_if_c<boost::is_same<vector const, typename boost::remove_reference<U0>::type const>::value, detail::enabler_>::type = detail::enabler , typename boost::disable_if_c<boost::is_same<vector, typename boost::remove_cv_ref<U0>::type>::value, detail::enabler_>::type = detail::enabler
#endif #endif
) )
: vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {} : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {}