opIndexAddAssign? ...
    Stewart Gordon 
    smjg_1998 at yahoo.com
       
    Fri Feb  9 08:25:34 PST 2007
    
    
  
Manfred Nowak Wrote:
> On writing the implementation of a map, where the Valuetype is a 
> set, I had to stop on recognizing, that only opIndexAssign is 
> permitted.
To add opIndexAddAssign et al would be a step back towards the old C++ nightmare of providing lots of operator overloads where just one should suffice.
> I.e.:
>     map[key]+= element;
> has no possible overload.
> 
> OpIndex delivers an rvalue and the only possibility to get an 
> lvalue is in conjunction with a plain assignment.
> 
> Why arbitrary restrictions when the goal is to have great 
> expressiveness?
I agree.  It's been said about properties enough times, and the same should apply to array indexes.  That is,
    qwert[yuiop] op= asdfg
should be, in the lack of any overriding alternative (such as an op<op>Assign on the type of qwert[yuiop]), equivalent to
    qwert[yuiop] = qwert[yuiop] op asdfg
except that qwert and yuiop are evaluated only once.
Stewart.
    
    
More information about the Digitalmars-d
mailing list