Boost logo

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]>

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

Boost list run by bdawes at, gregod at, cpdaniel at, john at