Efficient outputting of to-string conversions

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Feb 7 16:30:08 PST 2011


On 2/7/11 7:25 PM, Andrei Alexandrescu wrote:
> On 2/7/11 5:38 PM, Tomek Sowiński wrote:
>> Jonathan M Davis napisał:
>>
>>> On Monday 07 February 2011 13:10:09 Tomek Sowiński wrote:
>>>> Looks like std.conv.to always allocates behind the scenes. It's a
>>>> shame as
>>>> the returned string is immediately processed and discarded in my XML
>>>> writer. Are there plans to include a custom output variant, e.g.
>>>> to!string(7, outputRange)?
>>>
>>> http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP9
>>
>> I know about Steven's proposal but it applies only to user types not
>> primitives. Either way std.conv.to would need a buffered output range
>> as integers are written from the right. Any chance for an abstraction
>> analogous to buffered input ranges discussed recently?
>
> Generally I found it more difficult to define a solid output buffer
> abstraction. This is a great motivating example though.
>
> To my surprise, an API of the same form seems to be what the doctor
> prescribed.

I meant "of the same form as buffered input ranges". The primitives are 
similar: expose a buffer, allow it to grow, and discard it progressively.

Andrei


More information about the Digitalmars-d mailing list