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) 2017 Kohei Takahashi
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)
@ -22,6 +23,7 @@
#include <boost/type_traits/add_reference.hpp>
#include <boost/type_traits/add_const.hpp>
#include <boost/type_traits/is_base_of.hpp>
#include <boost/type_traits/remove_cv_ref.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/core/enable_if.hpp>
@ -178,7 +180,7 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template <typename T>
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
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&
>::type
operator=(T&& rhs)

View File

@ -66,7 +66,7 @@ FUSION_HASH endif
#endif
vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg)
#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
)
: vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {}