John Maddock wrote: > > >Why can't I see them?? Look at: > > OK the implementation is: > > BOOST_STATIC_CONSTANT(bool, value = > (::boost::type_traits::ice_and< > ::boost::type_traits::ice_not< ::boost::is_union<T>::value >::value, > ::boost::type_traits::ice_not< ::boost::is_scalar<T>::value > >::value, > ::boost::type_traits::ice_not< ::boost::is_array<T>::value >::value, > ::boost::type_traits::ice_not< > ::boost::is_reference<T>::value>::value, > ::boost::type_traits::ice_not< ::boost::is_void<T>::value >::value, > ::boost::type_traits::ice_not< ::boost::is_function<T>::value > >::value > >::value)); > > Note the is_scalar: this takes care of int's floats, pointers and member > pointers.
Thank. I must have a blind spot for the "is_scalar" line as I missed it several times, thus I wasn't able to understand how pointers got rejected from is_class (and I kept looking for is_pointer, etc. but it was implicit). Sorry for the noise. One reason for my blind spot may be that I used to think that the primary type categories are created first as an independent, closed part and that the secondary type categories are just some kind of grouping of the primary categories. As this seems not to be the case, may I suggest to drop the distinction between primary and secondary type categories? Or is there some use in the separation? And while writing this, I wonder why "is_member_function_pointer" is in the secondary type category. It's not a union of some primary type categories, is it? Regards, Daniel -- Daniel Frey aixigo AG - financial training, research and technology Schloß-Rahe-Straße 15, 52072 Aachen, Germany fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99 eMail: [EMAIL PROTECTED], web: http://www.aixigo.de _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost