[v3] C++0x type_traits post-oxford additions

Benjamin Kosnik bkoz@redhat.com
Mon May 7 14:14:00 GMT 2007


> make_signed/make_unsigned require:
>> Requires: T is a cv integral type or enumeration, but not a bool type.
> 
> I.e. they are not supposed to work with floating point types.

Huh. Now that I look at this, I'm wondering why is_signed/is_unsigned 
work on all arithematic types where T(-1) < T(0), and 
make_signed/make_unsigned only work on all integral types except bool 
plus enumerated types? What's the reason for the inconsistency?

I don't see this in the rationale.

Anyway. I'll go ahead and add in your testcase contribution for decay, 
and try to fix up these known fails in the meantime.

best,
-benjamin



More information about the Libstdc++ mailing list