Top 5

Sergey Gromov snake.scaly at gmail.com
Sat Oct 11 08:48:32 PDT 2008


Sat, 11 Oct 2008 09:55:19 -0500,
Andrei Alexandrescu wrote:
> Denis Koroskin wrote:
> > On Sat, 11 Oct 2008 18:32:25 +0400, Andrei Alexandrescu 
> > <SeeWebsiteForEmail at erdani.org> wrote:
> > 
> >> Denis Koroskin wrote:
> >>> On Sat, 11 Oct 2008 18:00:38 +0400, Andrei Alexandrescu Two notes:
> >>> 1) I thought Appender would have an 'append' method as well as 
> >>> opCatAssign.
> >>
> >> Appender has write because it is an output range. That way you can 
> >> direct any algorithm that uses output iterators to append to an array.
> >>
> > 
> > BTW, I wouldn't know that Appender is a range if you didn't say it. I 
> > believe it should be specified (and enforced) somehow in the code, like 
> > 'implements the output range contract' (C++0x contracts come to mind). 
> > For example, an error could be risen if Output Range definition is 
> > changed and Appender is not updated yet.
> 
> Walter is considering allowing structs to inherit from interfaces.

I think Appender should be a class.  It's obviously non-copyable, it's 
not too convenient to pass structs by pointers, and I don't think you 
need so many appenders sitting around that they being heap objects 
should become a concern.



More information about the Digitalmars-d mailing list