Type_traits.is_default_constructible: workaround for std::pair is required for more compilers. We don't need functional appveyor.yml any more.

This commit is contained in:
jzmaddock
2018-01-28 10:44:12 +00:00
parent 05c4fdcabb
commit 5d5c651ea6
2 changed files with 2 additions and 3 deletions

View File

@@ -59,7 +59,6 @@ install:
- git submodule update --init libs/throw_exception
- git submodule update --init libs/type_index
- git submodule update --init libs/utility
- git submodule update --init libs/functional
- git submodule update --init libs/container_hash
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\type_traits
- bootstrap

View File

@@ -16,7 +16,7 @@
#if BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)
#include <boost/type_traits/is_abstract.hpp>
#endif
#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ == 5))
#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ <= 5)) || (defined(BOOST_MSVC) && (BOOST_MSVC == 1800))
#include <utility> // std::pair
#endif
@@ -58,7 +58,7 @@ namespace boost{
template <class T, std::size_t N> struct is_default_constructible<T[N]> : public is_default_constructible<T>{};
template <class T> struct is_default_constructible<T[]> : public is_default_constructible<T>{};
template <class T> struct is_default_constructible<T&> : public integral_constant<bool, false>{};
#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ == 5))
#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ <= 5))|| (defined(BOOST_MSVC) && (BOOST_MSVC == 1800))
template <class T, class U> struct is_default_constructible<std::pair<T,U> > : public integral_constant<bool, is_default_constructible<T>::value && is_default_constructible<U>::value>{};
#endif
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)