Taking a copy of an object
Hasan Aljudy
hasan.aljudy at gmail.com
Thu Aug 3 01:37:55 PDT 2006
Derek Parnell wrote:
> Currently there doesn't seem to be any standard D mechanism (read:
> operator) to take a copy of an object. So are there any suggestions for a
> name that we can all agree on; one that might become an unofficial
> standard?
>
> For arrays we have the 'dup' property but for objects there is nothing that
> the compiler assumes. I'm partial to 'onDup' or 'onCopy', and maybe even a
> 'onDeepCopy' as an additional function.
>
> Example:
>
> class Foo
> {
> int x;
> Bar b;
>
> this(int y)
> {
> x = y;
> b = new Bar(y);
> }
>
> Foo onCopy()
> {
> Foo t;
> t = new Foo(x);
> return t;
> }
> }
>
> . . .
>
> auto backup = q.onCopy();
>
> And maybe one day (hoping against precedent) that Walter will actually see
> that an operator for copying stuff is not such a stupid idea.
>
> auto backup := q; // invokes q.onCopy() if it exists.
>
a compiler generated .dup method would be nice.
More information about the Digitalmars-d
mailing list