From 6ec33f48797a5440f65874650ade4b19962225c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Tue, 10 Apr 2012 18:44:17 +0000 Subject: [PATCH] Fixes for Visual Studio 11 and GCC 4.3 [SVN r77889] --- .../intrusive/detail/has_member_function_callable_with.hpp | 6 +++--- include/boost/intrusive/detail/memory_util.hpp | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/boost/intrusive/detail/has_member_function_callable_with.hpp b/include/boost/intrusive/detail/has_member_function_callable_with.hpp index 9be9737..44d003e 100644 --- a/include/boost/intrusive/detail/has_member_function_callable_with.hpp +++ b/include/boost/intrusive/detail/has_member_function_callable_with.hpp @@ -113,7 +113,7 @@ }; //! - #if !defined(_MSC_VER) || (_MSC_VER != 1600) + #if !defined(_MSC_VER) || (_MSC_VER < 1600) #if defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) @@ -126,7 +126,7 @@ static const bool value = true; }; - #else + #else //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) //Special case for 0 args template< class F @@ -162,7 +162,7 @@ static const bool value = sizeof(Test< Fun >(0)) == sizeof(boost_intrusive_has_member_function_callable_with::yes_type); }; - #endif + #endif //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED) #else //#if !defined(_MSC_VER) || (_MSC_VER != 1600) template diff --git a/include/boost/intrusive/detail/memory_util.hpp b/include/boost/intrusive/detail/memory_util.hpp index ad026c6..d65390d 100644 --- a/include/boost/intrusive/detail/memory_util.hpp +++ b/include/boost/intrusive/detail/memory_util.hpp @@ -251,6 +251,13 @@ struct type_rebinder, U, 0u > typedef Ptr type; }; +//Needed for non-conforming compilers like GCC 4.3 +template