13-Nov-2013 04:33, Andrei Alexandrescu пишет:
Hello,
[snip]
Here's what I'm thinking. First, obliterate calls the destructor if
present and then writes the fields as follows:
* unsigned integers: t.max / 2
* signed integers: t.min / 2
* characters: ?
As Vladimir said:
0xFF for char
0xFFFF for wchar
0x10_FFFF for dchar
Alternatives for w/dchar :
all in range of 0xFDD0-0xFDEF
0xFFFE and 0xFFFF
0x1FFFE and 0x1FFFF
0x2FFFE and 0x2FFFF
and so on, up to
0x10FFFE and 0x10FFFF
Relevant passage from the Unicode standard:
Noncharacters are code points that are permanently reserved in the
Unicode Standard for internal use. They are forbidden for use in open
interchange of Unicode text data.
--
Dmitry Olshansky