diff --git a/include/boost/type_traits/is_class.hpp b/include/boost/type_traits/is_class.hpp index 5d72be3..32fb92a 100644 --- a/include/boost/type_traits/is_class.hpp +++ b/include/boost/type_traits/is_class.hpp @@ -1,5 +1,5 @@ // (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000-2003. +// Hinnant & John Maddock 2000-2003. // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). @@ -20,7 +20,7 @@ # ifdef __EDG_VERSION__ # include "boost/type_traits/is_const.hpp" # include "boost/type_traits/is_volatile.hpp" -# endif +# endif #else # include "boost/type_traits/is_scalar.hpp" # include "boost/type_traits/is_array.hpp" @@ -48,16 +48,16 @@ namespace detail { // is_class<> metafunction due to Paul Mensonides // (leavings@attbi.com). For more details: // http://groups.google.com/groups?hl=en&selm=000001c1cc83%24e154d5e0%247772e50c%40c161550a&rnum=1 -#ifdef __GNUC__ +#if defined(__GNUC__) && !defined(__EDG_VERSION__) -template static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); -template static ::boost::type_traits::no_type is_class_tester(...); +template ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); +template ::boost::type_traits::no_type is_class_tester(...); template struct is_class_impl { - BOOST_STATIC_CONSTANT(bool, value = + BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_and< sizeof(is_class_tester(0)) == sizeof(::boost::type_traits::yes_type), ::boost::type_traits::ice_not< ::boost::is_union::value >::value @@ -73,7 +73,7 @@ struct is_class_impl template static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); template static ::boost::type_traits::no_type is_class_tester(...); - BOOST_STATIC_CONSTANT(bool, value = + BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_and< sizeof(is_class_tester(0)) == sizeof(::boost::type_traits::yes_type), ::boost::type_traits::ice_not< ::boost::is_union::value >::value