C++ Logo

SG16

Advanced search

Subject: Namespaces
From: Lyberta (lyberta_at_[hidden])
Date: 2019-03-30 16:11:00


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




SG16 list run by sg16-owner@lists.isocpp.org