<br><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 28, 2019, 9:56 AM Lyberta <<a href="mailto:lyberta@lyberta.net">lyberta@lyberta.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Since D1628R0 (Unicode character properties) conflicts with my proposal,<br>
I decided to finish a draft and publish it:<br>
<br>
<a href="https://github.com/Lyberta/cpp-unicode-fundamental" rel="noreferrer" target="_blank">https://github.com/Lyberta/cpp-unicode-fundamental</a><br>
<br>
It proposes 5 strong types which are intended as the basis for the rest<br>
of the Unicode library:<br>
<br>
std::unicode::utf8_code_unit<br>
std::unicode::utf16_code_unit<br>
std::unicode::utf32_code_unit<br>
std::unicode::code_point<br>
std::unicode::scalar_value<br></blockquote></div><div><br></div><div>charX_t have a requirement to be code units in C++20.</div><div><br></div><div>We also really do not want to have code units API. Because you can not do anything useful with it.</div><div>Especially iterating over code units or querying the properties of code units is something that is probably not useful ever (and has a propency to be missed used)</div><div><br></div><div>Scalar value and grapheme views are useful indeed Imo. Text is useful but it's basically something that can spawn a scalar or grapheme view with some storage, high level invariants and state.</div><div><br></div><div>Lastly, I am very concerned about a design that would throw by default. Especially something like domain_error. It basically means I wouldn't use any standard Unicode facilities and nor would people in a lot of Industries (games, embedded etc). </div><div><br></div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
SG16 Unicode mailing list<br>
<a href="mailto:Unicode@isocpp.open-std.org" target="_blank">Unicode@isocpp.open-std.org</a><br>
<a href="http://www.open-std.org/mailman/listinfo/unicode" rel="noreferrer" target="_blank">http://www.open-std.org/mailman/listinfo/unicode</a><br>
</blockquote></div>