RFC: naming for FrontTransversal and Transversal ranges
Robert Jacques
sandford at jhu.edu
Sat May 2 12:45:40 PDT 2009
On Sat, 02 May 2009 15:17:04 -0400, Rainer Deyke <rainerd at eldwood.com>
wrote:
> Robert Jacques wrote:
>> On Sat, 02 May 2009 03:39:27 -0400, Rainer Deyke <rainerd at eldwood.com>
>> wrote:
>>> You can have non-copyable value types, but they can't be containers.
>>
>> No they don't. Iteration can often be destructive. If I iterate over a
>> stack or a queue, I'm left with an empty stack/queue. For value
>> semantics to work non-destructive copying is required.
>
> OK. I grant that there are non-copyable types that can reasonably be
> called containers. Simple solution: make them non-copyable structs.
> You still get most of the benefits of value types:
> - One less layer of indirection.
Again, D array's are structs with reference semantics. This isn't a
pro/con either way.
> - No long distance dependencies.
Well, if I can't copy it, then I have to use ref everywhere, which is
functionally equivalent to reference semantics. I think you've just proved
the counter-point.
> - RAII.
Can be done with structs or classes. Also see point 1. So, this isn't a
pro/con either way.
More information about the Digitalmars-d
mailing list