Merged from trunk

[SVN r78115]
This commit is contained in:
Ion Gaztañaga
2012-04-21 20:36:10 +00:00
parent 42f10523be
commit 5876d5790b
2 changed files with 11 additions and 4 deletions

View File

@@ -10,7 +10,7 @@
// sample.h // sample.h
#if !BOOST_PP_IS_ITERATING #if !defined(BOOST_PP_IS_ITERATING)
#ifndef BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED #ifndef BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
#define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED #define BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_DETAILS_INCLUDED
@@ -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) #if defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
@@ -126,7 +126,7 @@
static const bool value = true; static const bool value = true;
}; };
#else #else //defined(BOOST_INTRUSIVE_DETAIL_HAS_MEMBER_FUNCTION_CALLABLE_WITH_0_ARGS_UNSUPPORTED)
//Special case for 0 args //Special case for 0 args
template< class F template< class F
@@ -162,7 +162,7 @@
static const bool value = sizeof(Test< Fun >(0)) static const bool value = sizeof(Test< Fun >(0))
== sizeof(boost_intrusive_has_member_function_callable_with::yes_type); == 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) #else //#if !defined(_MSC_VER) || (_MSC_VER != 1600)
template<typename Fun> template<typename Fun>

View File

@@ -251,6 +251,13 @@ struct type_rebinder<Ptr<T, Tn...>, U, 0u >
typedef Ptr<U, Tn...> type; 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 #else //C++03 compilers
#define BOOST_PP_LOCAL_MACRO(n) \ #define BOOST_PP_LOCAL_MACRO(n) \