From 0c7eff8d7026b0b823f7ddbe6c51b04ea6cb1056 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Fri, 23 Jan 2004 00:19:43 +0000 Subject: [PATCH] merged from trunk [SVN r21884] --- include/boost/type_traits/is_class.hpp | 34 ++++++++------------------ test/is_class_test.cpp | 1 + 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/include/boost/type_traits/is_class.hpp b/include/boost/type_traits/is_class.hpp index 32fb92a..038c666 100644 --- a/include/boost/type_traits/is_class.hpp +++ b/include/boost/type_traits/is_class.hpp @@ -17,10 +17,6 @@ #ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION # include "boost/type_traits/detail/yes_no_type.hpp" -# ifdef __EDG_VERSION__ -# include "boost/type_traits/is_const.hpp" -# include "boost/type_traits/is_volatile.hpp" -# endif #else # include "boost/type_traits/is_scalar.hpp" # include "boost/type_traits/is_array.hpp" @@ -29,6 +25,10 @@ # include "boost/type_traits/is_function.hpp" #endif +#ifdef __EDG_VERSION__ +# include "boost/type_traits/remove_cv.hpp" +#endif + // should be the last #include #include "boost/type_traits/detail/bool_trait_def.hpp" @@ -81,25 +81,6 @@ struct is_class_impl ); }; -# ifdef __EDG_VERSION__ -template -struct is_class_impl - : is_class_impl -{ -}; - -template -struct is_class_impl - : is_class_impl -{ -}; - -template -struct is_class_impl - : is_class_impl -{ -}; -# endif #endif #else @@ -133,8 +114,13 @@ struct is_class_impl } // namespace detail +# ifdef __EDG_VERSION__ +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_class,T, detail::is_class_impl::type>::value) +# else BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_class,T,::boost::detail::is_class_impl::value) - +# endif + } // namespace boost #include "boost/type_traits/detail/bool_trait_undef.hpp" diff --git a/test/is_class_test.cpp b/test/is_class_test.cpp index c2905ac..156f94e 100644 --- a/test/is_class_test.cpp +++ b/test/is_class_test.cpp @@ -21,6 +21,7 @@ TT_TEST_BEGIN(is_class) BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_class::value, false);