mirror of
https://github.com/boostorg/intrusive.git
synced 2025-08-03 14:34:44 +02:00
Merged from trunk
[SVN r78115]
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
// sample.h
|
||||
|
||||
#if !BOOST_PP_IS_ITERATING
|
||||
#if !defined(BOOST_PP_IS_ITERATING)
|
||||
|
||||
#ifndef 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)
|
||||
|
||||
@@ -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>
|
||||
|
@@ -251,6 +251,13 @@ struct type_rebinder<Ptr<T, Tn...>, U, 0u >
|
||||
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) \
|
||||
|
Reference in New Issue
Block a user