From e958c63a6dd721d24ca1d7e40d6c207c90c91bee Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 6 Aug 2018 19:20:34 +0100 Subject: [PATCH] rvalue refs and msvc-10: add fix for is_function as well. --- .../detail/is_function_msvc10_fix.hpp | 30 +++++++++++++++++++ include/boost/type_traits/is_function.hpp | 4 +++ 2 files changed, 34 insertions(+) create mode 100644 include/boost/type_traits/detail/is_function_msvc10_fix.hpp diff --git a/include/boost/type_traits/detail/is_function_msvc10_fix.hpp b/include/boost/type_traits/detail/is_function_msvc10_fix.hpp new file mode 100644 index 0000000..ec8ba9a --- /dev/null +++ b/include/boost/type_traits/detail/is_function_msvc10_fix.hpp @@ -0,0 +1,30 @@ + +// (C) Copyright John Maddock 2018. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED +#define BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED + +namespace boost { + +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; + +} // namespace boost + +#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED + diff --git a/include/boost/type_traits/is_function.hpp b/include/boost/type_traits/is_function.hpp index f77c1f0..fe72ebf 100644 --- a/include/boost/type_traits/is_function.hpp +++ b/include/boost/type_traits/is_function.hpp @@ -99,4 +99,8 @@ template struct is_function : public false_type {}; #endif } // namespace boost +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700) +#include +#endif + #endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED