This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] libstdc++/31426 & C++0x type_traits


On May 30, 2007, at 4:14 PM, Paolo Carlini wrote:

By the way, if you are willing to implement the C++0x behavior for is_signed / is_unsigned, just let me know. I'm asking specifically asking that because apparently will imply some small tweaks to make_signed / make_unsigned (your baby ;) : if you have a plain char type, which happens to be signed on a given platform (i.e., type(-1) < type(0)), the current implementation of make_signed "returns" the type as-is, doesn't produce signed char, and a test fails (together with my draft implementation of the C++0x is_signed).

Fwiw, here's a reference implementation of make_signed / make_unsigned which is independent of is_signed / is_unsigned and works whether char is signed or unsigned.


http://home.twcny.rr.com/hinnant/cpp_extensions/make_signed.html

This will work with the new char16_t and char32_t types as well. If there exist extended integer types, then they would need to be added to the various lists (4 places).

-Howard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]