On 10/15/2011 01:12 AM, Jay Norwood wrote:
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.
I agree. It is odd that we have opSliceUnary but not opSliceBinary.