Boost logo

Boost :

Subject: Re: [boost] Variadic append for std::string
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2016-12-29 08:53:48


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 dealed 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk