Ticket #1317: boost_1_36_0-djw_has_xxx.patch
File boost_1_36_0-djw_has_xxx.patch, 1.0 KB (added by , 14 years ago) |
---|
-
boost/mpl/has_xxx.hpp
157 157 // applied to partial specialization to fix some apparently random failures 158 158 // (thanks to Daniel Wallin for researching this!) 159 159 160 namespace boost { namespace mpl { namespace aux {161 template< typename T > struct msvc71_sfinae_helper { typedef void type; };162 }}}163 164 160 # define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ 161 template< typename T > \ 162 struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \ 163 { \ 164 typedef void type; \ 165 };\ 166 \ 165 167 template< typename T, typename U = void > \ 166 168 struct BOOST_PP_CAT(trait,_impl_) \ 167 169 { \ … … 172 174 template< typename T > \ 173 175 struct BOOST_PP_CAT(trait,_impl_)< \ 174 176 T \ 175 , typename boost::mpl::aux::msvc71_sfinae_helper< typename T::name >::type \177 , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \ 176 178 > \ 177 179 { \ 178 180 BOOST_STATIC_CONSTANT(bool, value = true); \