Taking a copy of an object
Tom S
h3r3tic at remove.mat.uni.torun.pl
Thu Aug 3 16:04:32 PDT 2006
Derek wrote:
> On Thu, 03 Aug 2006 14:26:08 +0100, Bruno Medeiros wrote:
>
>> 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();
>>>
>> What's the "on" prefix for? I think the name should be something like:
>
> The 'on' prefix is a *hint* to Walter that I'd really like this function to
> be invoked via a new operator and not necessariliy called directly.
Somehow, 'on' doesn't sound like an operator. On the other hand 'op' does...
More information about the Digitalmars-d
mailing list