On 4/4/20 8:14 AM, Robert M. Münch wrote:
On 2020-04-04 10:32:32 +0000, Ferhat Kurtulmuş said:

struct S {
     float a;
     float b;

     S opOpAssign(string op)(ref S rhs) if (op == "+"){
         this.a += rhs.a;
         this.b += rhs.b;
         return this;
     }
}

If the struct is from some 3rd party source, how can I add such an operator overloading to it? Is it possible to "extend" a struct later?


No. operators must be implemented by the type itself. That is intentional (so types always act the same no matter where you import them). The only exception is UFCS, which doesn't cover operator overloading.

However, you can make a wrapper and use alias this.

-Steve

Reply via email to