diff options
Diffstat (limited to '3rdParty/Boost/src/boost/type_traits/is_member_pointer.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/type_traits/is_member_pointer.hpp | 55 |
1 files changed, 2 insertions, 53 deletions
diff --git a/3rdParty/Boost/src/boost/type_traits/is_member_pointer.hpp b/3rdParty/Boost/src/boost/type_traits/is_member_pointer.hpp index a4a6d25..cba31af 100644 --- a/3rdParty/Boost/src/boost/type_traits/is_member_pointer.hpp +++ b/3rdParty/Boost/src/boost/type_traits/is_member_pointer.hpp @@ -24,7 +24,7 @@ #include <boost/type_traits/config.hpp> #include <boost/detail/workaround.hpp> -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !BOOST_WORKAROUND(__BORLANDC__, < 0x600) +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) # include <boost/type_traits/is_member_function_pointer.hpp> #else # include <boost/type_traits/is_reference.hpp> @@ -46,7 +46,7 @@ BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,__is_member_pointer(T)) BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,false) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true) -#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +#else BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::is_member_function_pointer<T>::value) BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*,true) @@ -56,59 +56,8 @@ BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer, BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2(typename T,typename U,is_member_pointer,U T::*const volatile,true) #endif -#else // no partial template specialization - -namespace detail { - -template <typename R, typename T> -::boost::type_traits::yes_type BOOST_TT_DECL is_member_pointer_tester(R T::*const volatile*); -::boost::type_traits::no_type BOOST_TT_DECL is_member_pointer_tester(...); - -template <bool> -struct is_member_pointer_select - : public ::boost::type_traits::false_result -{ -}; - -template <> -struct is_member_pointer_select<false> -{ - template <typename T> struct result_ - { - static T* make_t(); - BOOST_STATIC_CONSTANT( - bool, value = - (::boost::type_traits::ice_or< - (1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(make_t()))), - (1 == sizeof(is_member_pointer_tester(make_t()))) - >::value) ); - }; -}; - -template <typename T> -struct is_member_pointer_impl - : public is_member_pointer_select< - ::boost::type_traits::ice_or< - ::boost::is_reference<T>::value - , ::boost::is_array<T>::value - >::value - >::template result_<T> -{ -}; - -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void,false) -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const,false) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void volatile,false) -BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1(is_member_pointer,void const volatile,false) #endif -} // namespace detail - -BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_member_pointer,T,::boost::detail::is_member_pointer_impl<T>::value) - -#endif // __BORLANDC__ - } // namespace boost #include <boost/type_traits/detail/bool_trait_undef.hpp> |