Ticket #9332: vc12_fix_has_member_function_callable_with.patch

File vc12_fix_has_member_function_callable_with.patch, 1.4 KB (added by Daniela Engert <dani@…>, 9 years ago)
  • has_member_function_callable_with.hpp

     
    219219         struct BOOST_PP_CAT(BOOST_PP_CAT(has_member_function_callable_with_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME),_impl)
    220220            <Fun, true>
    221221         {
    222             template<class U>
    223             static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
    224                <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
    225 
     222            #ifdef BOOST_MSVC
     223               template<class U>
     224               static decltype( boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()
     225                              , boost_intrusive_has_member_function_callable_with::yes_type())
     226                  Test(Fun*);
     227            #else
     228               template<class U>
     229               static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
     230                  <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
     231            #endif
     232                       
    226233            template <class U>
    227234            static boost_intrusive_has_member_function_callable_with::no_type Test(...);
    228235