From 638af6028bfd868963a86178824f849d6e76a928 Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Sat, 11 Oct 2008 06:54:06 +0000 Subject: [PATCH] Merged revisions 49260 via svnmerge from https://svn.boost.org/svn/boost/trunk ........ r49260 | agurtovoy | 2008-10-10 16:59:29 -0500 (Fri, 10 Oct 2008) | 1 line has_xxx: Adjust MSVC 7.1/8.0 workaround (ticket #1317) ........ [SVN r49273] --- include/boost/mpl/has_xxx.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/boost/mpl/has_xxx.hpp b/include/boost/mpl/has_xxx.hpp index 25aac77..bd08279 100644 --- a/include/boost/mpl/has_xxx.hpp +++ b/include/boost/mpl/has_xxx.hpp @@ -157,11 +157,13 @@ template<> struct trait \ // applied to partial specialization to fix some apparently random failures // (thanks to Daniel Wallin for researching this!) -namespace boost { namespace mpl { namespace aux { -template< typename T > struct msvc71_sfinae_helper { typedef void type; }; -}}} - # define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T > \ +struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \ +{ \ + typedef void type; \ +};\ +\ template< typename T, typename U = void > \ struct BOOST_PP_CAT(trait,_impl_) \ { \ @@ -172,7 +174,7 @@ struct BOOST_PP_CAT(trait,_impl_) \ template< typename T > \ struct BOOST_PP_CAT(trait,_impl_)< \ T \ - , typename boost::mpl::aux::msvc71_sfinae_helper< typename T::name >::type \ + , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \ > \ { \ BOOST_STATIC_CONSTANT(bool, value = true); \