From ab2358913cc21643f0e0f0c2d32f832d17c32f49 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Sun, 18 Feb 2001 16:16:02 +0000 Subject: [PATCH] use ice_not<> instead of logical not "!" to work around problems with early EDG (for example, IRIX CC and Compaq C++) [SVN r9255] --- include/boost/type_traits/object_traits.hpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/boost/type_traits/object_traits.hpp b/include/boost/type_traits/object_traits.hpp index 662dd6f..ca8c624 100644 --- a/include/boost/type_traits/object_traits.hpp +++ b/include/boost/type_traits/object_traits.hpp @@ -40,8 +40,8 @@ struct is_object { BOOST_DECL_MC(bool, value, (::boost::type_traits::ice_and< - !::boost::is_reference::value, - !::boost::is_void::value + ::boost::type_traits::ice_not< ::boost::is_reference::value>::value, + ::boost::type_traits::ice_not< ::boost::is_void::value>::value >::value)); }; @@ -72,11 +72,11 @@ struct is_class { BOOST_DECL_MC(bool, value, (::boost::type_traits::ice_and< - !::boost::is_union::value, - !::boost::is_scalar::value, - !::boost::is_array::value, - !::boost::is_reference::value, - !::boost::is_void::value + ::boost::type_traits::ice_not< ::boost::is_union::value >::value, + ::boost::type_traits::ice_not< ::boost::is_scalar::value >::value, + ::boost::type_traits::ice_not< ::boost::is_array::value >::value, + ::boost::type_traits::ice_not< ::boost::is_reference::value>::value, + ::boost::type_traits::ice_not< ::boost::is_void::value >::value >::value)); }; @@ -150,7 +150,7 @@ struct has_trivial_copy ::boost::is_POD::value, BOOST_HAS_TRIVIAL_COPY(T) >::value, - !::boost::is_volatile::value + ::boost::type_traits::ice_not< ::boost::is_volatile::value >::value >::value)); }; @@ -168,8 +168,8 @@ struct has_trivial_assign ::boost::is_POD::value, BOOST_HAS_TRIVIAL_ASSIGN(T) >::value, - !::boost::is_const::value, - !::boost::is_volatile::value + ::boost::type_traits::ice_not< ::boost::is_const::value >::value, + ::boost::type_traits::ice_not< ::boost::is_volatile::value >::value >::value)); };