[SG16-Unicode] Namespaces

Lyberta lyberta at lyberta.net
Sat Mar 30 22:11:00 CET 2019


Ranges has made a precedent that we can provide better versions of old
functions by putting them into a separate namespace. It is general
consensus that almost all current text related function are obsolete. We
should consider a namespace for new ones.

I think std::text fits this. This namespace would contain functions that
are modern and can properly support Unicode (and other encodings!).

There is also a precedent of my proposal and D1628 having separate
namespace specifically for Unicode. Generally speaking, Unicode is a
subset of text processing so in mathematical sense it would be obvious
to put unicode namespace as std::text::unicode but here I agree that it
is too much typing.

So I propose the following:

std::text for general purpose text algorithms (to be determined as we
haven't even nailed the Unicode yet, but consider std::text::to_upper,
std::text::is_alphanumeric).
std::unicode for Unicode classes and algorithms. Everything in std::text
should be able to work with classes from std::unicode.

Then we can add more encodings under std or maybe right into std::text
if they are too simple.

Theoretical examples:

std::ascii
std::ebcdic
std::shift_jis

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
Url : http://www.open-std.org/pipermail/unicode/attachments/20190330/216ad3e9/attachment.bin 


More information about the Unicode mailing list