Overhauling the notion of output range

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Jul 12 14:44:56 PDT 2010


On 07/12/2010 04:39 PM, Steven Schveighoffer wrote:
> On Mon, 12 Jul 2010 17:25:43 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>
>> On 07/12/2010 02:41 PM, Steven Schveighoffer wrote:
>>> I'm unsure how it will work either. I admit now that I didn't think
>>> through how this will be used.
>>
>> It's very simple. As far as a user of an output range is concerned,
>> they should write stuff like:
>>
>> put(r, '[');
>> char[] someBuf;
>> put(r, someBuf);
>> put(r, ", ");
>> put(r, ']');
>>
>> in confidence that things are reasonably efficient.
>
> How does that work for a range whose front() can be assigned a dchar?
> Wait, it doesn't, because it won't compile.
>
> But wouldn't that be the same for a delegate that takes a dchar?
>
> I'm very confused at what you are trying to do. I expected that a char[]
> would be a valid output range.

A char[] should be a valid output range for a dchar. I forgot to encode 
all valid strings situations, working on that now.

Andrei


More information about the Digitalmars-d mailing list