Taking a copy of an object

Derek Parnell derek at nomail.afraid.org
Thu Aug 3 00:37:15 PDT 2006


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.

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
3/08/2006 5:26:23 PM



More information about the Digitalmars-d mailing list