|
Boost : |
Subject: Re: [boost] Variadic append for std::string
From: Dominique Devienne (ddevienne_at_[hidden])
Date: 2017-01-03 07:17:28
On Thu, Dec 29, 2016 at 2:53 PM, Andrey Semashev <andrey.semashev_at_[hidden]>
wrote:
> On 12/29/16 11:54, Olaf van der Spek wrote:
>
>> On Thu, Dec 29, 2016 at 1:19 AM, Yakov Galka <ybungalobill_at_[hidden]>
>> wrote:
>>
>>> On Tue, Dec 27, 2016 at 4:47 PM, Olaf van der Spek <ml_at_[hidden]>
>>> wrote:
>>>
>>> One frequently needs to append stuff to strings, but the standard way
>>>> (s += "A" + "B" + to_string(42)) isn't optimal due to temporaries.
>>>>
>>>>
>>> Can't we already write it through (((s += "A") += "B") += to_string(42))?
>>> This is the time I think that assignment operators, other than =, should
>>> have had left associativitiy... pity they don't.
>>>
>>
>> We can, but it's ugly and I'd like to avoid the explicit to_string. It
>> also wouldn't allow the two-pass optimization to calculate the final
>> length before allocation.
>>
>
> I already mentioned in the std-proposals discussion that I don't think
> formatting
should be dealt with by std::string or a function named append(). If
> formatting
is to be involved I'd suggest creating a formatting library, but at that
> point you should
provide clear advantages over the other formatting libraries we have in
> Boost.
Or that exist elsewhere, e.g. https://github.com/fmtlib/fmt --DD
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk