%module inplaceadd | |
%{ | |
#include <iostream> | |
%} | |
%inline %{ | |
struct A | |
{ | |
int val; | |
A(int v): val(v) | |
{ | |
} | |
A& operator+=(int v) | |
{ | |
val += v; | |
return *this; | |
} | |
A& operator+=(const A& a) | |
{ | |
val += a.val; | |
return *this; | |
} | |
A& operator-=(int v) | |
{ | |
val -= v; | |
return *this; | |
} | |
A& operator*=(int v) | |
{ | |
val *= v; | |
return *this; | |
} | |
}; | |
%} |