From c10b94472d4836804780ad23d6863eff667803bb Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Thu, 30 Oct 2014 19:44:48 +0900 Subject: [PATCH] Fix compile error on MSVC-10 and 11 due to no variadic templates. see http://thread.gmane.org/gmane.comp.lib.boost.devel/255086 Signed-off-by: Kohei Takahashi --- include/boost/fusion/support/detail/result_of.hpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/boost/fusion/support/detail/result_of.hpp b/include/boost/fusion/support/detail/result_of.hpp index e15fea5e..ff48dac9 100644 --- a/include/boost/fusion/support/detail/result_of.hpp +++ b/include/boost/fusion/support/detail/result_of.hpp @@ -8,6 +8,11 @@ #define FUSION_RESULT_OF_10272014_0654 #include +#if !(defined(BOOST_NO_CXX11_DECLTYPE) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)) +#include +#include +#include +#endif namespace boost { namespace fusion { namespace detail { @@ -16,7 +21,7 @@ namespace boost { namespace fusion { namespace detail // low level code. So far this is used only in the fold algorithm. This will // be removed once we overhaul fold. -#if defined(BOOST_NO_CXX11_DECLTYPE) +#if defined(BOOST_NO_CXX11_DECLTYPE) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template struct result_of_with_decltype : boost::tr1_result_of {}; @@ -31,9 +36,9 @@ namespace boost { namespace fusion { namespace detail template struct result_of_with_decltype - : mpl::if_, detail::has_result>, + : mpl::if_, detail::has_result >, boost::tr1_result_of, - boost::detail::cpp0x_result_of>::type {}; + boost::detail::cpp0x_result_of >::type {}; #endif