On 1/23/20 7:22 PM, Jens Maurer via SG16 wrote:

I'm wondering whether the SG16 efforts should leave old-style literals
alone and focus on well-defined u8 literals, and eventually necessary
encoding transformations to match the (runtime) environment.

There is an open question of whether the C++ community at large will be willing to migrate to char8_t and u8 literals.  Within the Linux/macOS ecosystem, old-style literals are effectively already UTF-8.  I've taken the view that we need to hedge our bets and provide the best support we can for each and watch where the community leads us.

Support for transcoding interfaces is actively being worked on by JeanHeyd via P1629 (we have a tentative plan to provide an update on this at our next telecon on February 5th).  This addresses directive 5.1 in P1238 (which is due for a new revision).  Directive 5.4 (briefly) discusses interaction at program boundaries.

We've spent a fair amount of time talking about iostreams and the transcoding support present there.  It is ... not what we want.  Elegant interfaces that just DTRT in interactions with the surrounding environment may very well require a replacement for iostreams.  Further research and prototyping are required.

Tom.


Jens