C++ Logo

sg16

Advanced search

Re: [SG16] LWG3576 - Clarifying fill character in std::format

From: Victor Zverovich <victor.zverovich_at_[hidden]>
Date: Mon, 9 Aug 2021 08:35:36 -0700
As an additional data point: the {fmt} library and Python's str.format use
code points.

- Victor

On Mon, Aug 9, 2021 at 8:34 AM Victor Zverovich <victor.zverovich_at_[hidden]>
wrote:

> Thanks Corentin for bringing this up. I think this should be at least a
> code point (that was the original intent which was lost to wording
> ambiguity), otherwise fill is pretty much useless. Grapheme cluster is an
> option but might be an overkill.
>
> Cheers,
> Victor
>
> On Mon, Aug 9, 2021 at 8:30 AM Corentin <corentin.jabot_at_[hidden]> wrote:
>
>> Hello,
>>
>> I wanted to bring this new LWG issue to your attention.
>> https://cplusplus.github.io/LWG/issue3576
>>
>> The author asks whether the fill character of std::format is
>>
>> - a code unit
>> - a code point
>> - a grapheme cluster
>>
>> This might be an abi breaking thing, and implementation disagrees already
>> apparently.
>>
>> My gut feeling is that it needs to at least be a codepoint.
>> I do not know if there are any concerns with allowing a grapheme in terms
>> of implementation or performance. There is definitively some motivation,
>> especially for non-nfc format strings.
>>
>> This sort of issue illustrates my point that using the term character in
>> the standard can be problematic!
>>
>> Thanks,
>> Have a great week,
>>
>> Corentin
>>
>>

Received on 2021-08-09 10:35:49