|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r77889 - trunk/boost/intrusive/detail
From: igaztanaga_at_[hidden]
Date: 2012-04-10 14:44:18
Author: igaztanaga
Date: 2012-04-10 14:44:17 EDT (Tue, 10 Apr 2012)
New Revision: 77889
URL: http://svn.boost.org/trac/boost/changeset/77889
Log:
Fixes for Visual Studio 11 and GCC 4.3
Text files modified:
trunk/boost/intrusive/detail/has_member_function_callable_with.hpp | 6 +++---
trunk/boost/intrusive/detail/memory_util.hpp | 7 +++++++
2 files changed, 10 insertions(+), 3 deletions(-)
Modified: trunk/boost/intrusive/detail/has_member_function_callable_with.hpp
==============================================================================
--- trunk/boost/intrusive/detail/has_member_function_callable_with.hpp (original)
+++ trunk/boost/intrusive/detail/has_member_function_callable_with.hpp 2012-04-10 14:44:17 EDT (Tue, 10 Apr 2012)
@@ -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<typename Fun>
Modified: trunk/boost/intrusive/detail/memory_util.hpp
==============================================================================
--- trunk/boost/intrusive/detail/memory_util.hpp (original)
+++ trunk/boost/intrusive/detail/memory_util.hpp 2012-04-10 14:44:17 EDT (Tue, 10 Apr 2012)
@@ -251,6 +251,13 @@
typedef Ptr<U, Tn...> type;
};
+//Needed for non-conforming compilers like GCC 4.3
+template <template <class> class Ptr, typename T, class U>
+struct type_rebinder<Ptr<T>, U, 0u >
+{
+ typedef Ptr<U> type;
+};
+
#else //C++03 compilers
#define BOOST_PP_LOCAL_MACRO(n) \
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk