diff --git a/include/boost/type_traits/is_compound.hpp b/include/boost/type_traits/is_compound.hpp index 29691ab..88c1419 100644 --- a/include/boost/type_traits/is_compound.hpp +++ b/include/boost/type_traits/is_compound.hpp @@ -10,15 +10,9 @@ #ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED #define BOOST_TT_IS_COMPOUND_HPP_INCLUDED -#include "boost/type_traits/is_array.hpp" -#include "boost/type_traits/is_pointer.hpp" -#include "boost/type_traits/is_reference.hpp" -#include "boost/type_traits/is_class.hpp" -#include "boost/type_traits/is_union.hpp" -#include "boost/type_traits/is_enum.hpp" -#include "boost/type_traits/is_member_pointer.hpp" -#include "boost/type_traits/detail/ice_or.hpp" #include "boost/config.hpp" +#include "boost/type_traits/is_fundamental.hpp" +#include "boost/type_traits/detail/ice_not.hpp" // should be the last #include #include "boost/type_traits/detail/bool_trait_def.hpp" @@ -31,15 +25,9 @@ template struct is_compound_impl { BOOST_STATIC_CONSTANT(bool, value = - (::boost::type_traits::ice_or< - ::boost::is_array::value, - ::boost::is_pointer::value, - ::boost::is_reference::value, - ::boost::is_class::value, - ::boost::is_union::value, - ::boost::is_enum::value, - ::boost::is_member_pointer::value - >::value)); + (::boost::type_traits::ice_not< + ::boost::is_fundamental::value + >::value)); }; } // namespace detail