overload of array operations
Jay Norwood
jayn at prismnet.com
Fri Oct 14 16:12:25 PDT 2011
Jonathan M Davis Wrote:
> On Friday, October 14, 2011 15:29:17 Jay Norwood wrote:
> > Jonathan M Davis Wrote:
> > > On Friday, October 14, 2011 11:30:25 Jay Norwood wrote:
> > > > Is it possible to overload array operations
> > >
> > > Please be more specific. Are you asking whether a struct or class can
> > > overload the indexing and slicing operators? If so, the answer is yes.
> > >
> > > http://d-programming-language.org/operatoroverloading.html
> > >
> > > - Jonathan M Davis
> >
> > to be more specific, I'm interested in overloading the vector operations on
> > arrays described at this link, search for "vector operation"
> >
> > http://www.digitalmars.com/d/2.0/arrays.html
>
> You could probably do it if you're fancy, but there's no explicit way to have
> a struct or class operate like that. If you really wanted to though, you could
> overload opSlice on your struct to return a specific type which then overloaded
> opBinary for + and then have that return a new struct with the changed values.
> But that borders on overloaded operator abuse.
>
> Vector operations are really only intended for arrays.
>
> - Jonathan M Davis
Yes, I intended to try to overload the array operations on an array of structures. I just want to use the simple syntax for the operations.
a[]= b[]+c[];
a[] = b[] + 4;
a[] *= 4;
where a, b, c are arrays of structures, and then overload the operations. It seems to me that should require names for the array operations being overloaded.
More information about the Digitalmars-d-learn
mailing list