<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 11/9/19 11:05 AM, JeanHeyd Meneide
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CANHA4OheGYzhF23aFuoU9XcnM+Cyt4pQ-M5CJcQO+ctq_xKH1w@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr">On Sat, Nov 9, 2019 at 3:44 AM Lyberta <<a
href="mailto:lyberta@lyberta.net" target="_blank"
moz-do-not-send="true">lyberta@lyberta.net</a>> wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Lyberta:<br>
> JeanHeyd Meneide:<br>
>> Absolutely, the default should be basic_string.<br>
> <br>
> I disagree but I didn't write a proposal yet so we'll
talk later.<br>
<br>
Although here's one of the big arguments why
std::basic_string is really<br>
badly designed:<br>
<br>
<a href="http://www.gotw.ca/gotw/084.htm" rel="noreferrer"
target="_blank" moz-do-not-send="true">http://www.gotw.ca/gotw/084.htm</a><br>
<br>
And then if we note that Unicode code units have almost zero
semantics,<br>
we can remove 80% of the API.<br>
</blockquote>
<div><br>
</div>
<div>As a counterpoint, there's no reason you can't just
ignore the vestigal API on std::string. While a "bloated"
interface, long gone are the days where a function you write
has to appear in your final binary, or even in your object
files.<br>
<br>
</div>
<div>I understand it's not ideal, but remember that
introducing new vocabulary types means you need to compete
with every single API that currently takes std::string.
That's a lot of APIs you're risking no compatibility with,
and explicit conversions means the user has a lot of typing
to do. Try to think about how expensive that can be for the
user if you introduce new basic types, and the compatibility
you lose with code being written even today.<br>
</div>
<div><br>
</div>
<div>You can still propose such types, but please do be
careful: it might not be the best use of your time for
something Library Evolution Working Group (Incubator) will
likely shoot down immediately.<br>
</div>
</div>
</div>
</blockquote>
<p>I'd like to add a strong +1 on this. The committee is willing to
deprecate things in rare cases. I will say with near 100%
confidence that WG21 will never deprecate std::basic_string or any
significant portions of it due to extremely wide spread use. WG21
is not in the business of producing a perfect, pure, or ideal
language; we evaluate and make practical decisions based on impact
to the entire community and ecosystem. Please focus your
attention on ideas that you know to have support from members of
the groups that will evaluate it. Otherwise, you will be wasting
your time and the committee's time.<br>
</p>
<p>Tom.<br>
</p>
<blockquote type="cite"
cite="mid:CANHA4OheGYzhF23aFuoU9XcnM+Cyt4pQ-M5CJcQO+ctq_xKH1w@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>Sincerely,<br>
</div>
<div>JeanHeyd<br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
SG16 Unicode mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Unicode@isocpp.open-std.org">Unicode@isocpp.open-std.org</a>
<a class="moz-txt-link-freetext" href="http://www.open-std.org/mailman/listinfo/unicode">http://www.open-std.org/mailman/listinfo/unicode</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>