Boost logo

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