put string[] into a appender without loop?
AsmMan via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Sep 21 17:18:02 PDT 2014
On Monday, 22 September 2014 at 00:09:22 UTC, Vladimir Panteleev
wrote:
> On Sunday, 21 September 2014 at 23:48:59 UTC, AsmMan wrote:
>> On Sunday, 21 September 2014 at 23:41:58 UTC, AsmMan wrote:
>>> I'd like to copy an array string into a appender!string() but
>>> I can't see how to do this without loop myself over the
>>> string array. Is there a native function or should I write it
>>> myself?
>>
>> call:
>>
>> auto app = appender!string();
>> string[] s = ["foo", "baa"];
>> app.put(s);
>>
>> give a:
>>
>> \src\phobos\std\conv.d(9,9): Error: static assert
>> "immutable(char) cannot be emplaced from a string." (b)
>>
>> How do I fix it?
>
> put(app, s);
>
> This is not an ideal solution, since Appender may reallocate
> several times when appending the array items. Ideally, appender
> itself should take a range of strings, so that it can
> preallocate memory for them only once.
this give undefined identifier: 'put' error. (std.array is
already included, buffer.put(string) doesn't give same error)
The copy of an array doesn't happen often as string but do
suggest to I want something else instead of appender?
More information about the Digitalmars-d-learn
mailing list