> After thinking about it longer, I still think that there is a problem. The
> code seems "twisted" to me. Let me try to explain it, I start by some
> observations (all for the case of
> BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION not being set):
> 
> is_scalar is based on 3.9/10, which says that enums are scalars.
> Currently, is_scalar doesn't detect enums.

Oh yes it does :-)

template <typename T>
struct is_scalar_impl
{ 
   BOOST_STATIC_CONSTANT(bool, value =
      (::boost::type_traits::ice_or<
         ::boost::is_arithmetic<T>::value,
         ::boost::is_enum<T>::value,
         ::boost::is_pointer<T>::value,
         ::boost::is_member_pointer<T>::value
      >::value));
};


> is_class needs is_scalar

Oh no it doesn't :-)

> is_enum needs is_class or it will detect classes which are convertible to
> int as enums.

Oh no it doesn't :-)
 
still smilingly yours ;-)
John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/index.htm


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to