From ad38d7a1331fcd1cfea28045c8cf32b44580db1b Mon Sep 17 00:00:00 2001 From: John Maddock Date: Mon, 4 Nov 2002 12:35:26 +0000 Subject: [PATCH] Enabled new is_convertible version for a couple of compilers only, may actually work this time... [SVN r16090] --- include/boost/type_traits/is_convertible.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/boost/type_traits/is_convertible.hpp b/include/boost/type_traits/is_convertible.hpp index d9d5649..12c451e 100644 --- a/include/boost/type_traits/is_convertible.hpp +++ b/include/boost/type_traits/is_convertible.hpp @@ -125,7 +125,8 @@ struct is_convertible_impl == sizeof(::boost::type_traits::yes_type); }; -#elif 0 +#elif (defined(BOOST_MSVC) && (BOOST_MSVC >= 1310))\ + (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) // // This is *almost* an ideal world implementation as it doesn't rely // on undefined behaviour by passing UDT's through (...). @@ -135,7 +136,9 @@ struct is_convertible_impl struct any_conversion { template any_conversion(const volatile T&); - //template any_conversion(T&); + // we need this constructor to catch references to functions + // (which can not be cv-qualified): + template any_conversion(T&); }; template