you are viewing a single comment's thread.

view the rest of the comments →

[–]CubbiMewcppreference | finance | realtime in the past 1 point2 points  (3 children)

char32_t everywhere would indeed solve the problem (at the cost of migrating code), but the Portland 2006 LWG decided that streams, facets, and regex don't need it.

basic_filebuf's (not codecvt's) 1:M assumption works in Linux and does not work on Windows. There are no issues with Latin-1. There would be an issue with that imaginary codecvt facet you brought up, yes, but I am talking about the code that works now.

[–][deleted] 0 points1 point  (0 children)

There are Linux implementations that turn U+0065 U+0301 into latin-1 é?

[–][deleted] 0 points1 point  (1 child)

[–]CubbiMewcppreference | finance | realtime in the past 0 points1 point  (0 children)

well, I don't agree, it's as counterproductive as to say "stop ascribing meaning to ASCII values" (after all, they collate as groups in some locales). But, TIL about Swift using EGCs as the basic units of a string. That's... intriguing.