# Help with operators Classic List Threaded 1 message Reply | Threaded
Open this post in threaded view
|

## Help with operators

 My operator bindings just crash friend Vec  operator+ (C Vec     &v,   Flt      r) {return Vec(v.x+r, v.y+r, v.z+r);} friend Vec  operator- (C Vec     &v,   Flt      r) {return Vec(v.x-r, v.y-r, v.z-r);} friend Vec  operator* (C Vec     &v,   Flt      r) {return Vec(v.x*r, v.y*r, v.z*r);} friend Vec  operator/ (C Vec     &v,   Flt      r) {return Vec(v.x/r, v.y/r, v.z/r);} friend Vec  operator+ (C Vec     &a, C Vec     &b) {return Vec(a.x+b.x, a.y+b.y, a.z+b.z);} friend Vec  operator- (C Vec     &a, C Vec     &b) {return Vec(a.x-b.x, a.y-b.y, a.z-b.z);} friend Vec  operator* (C Vec     &a, C Vec     &b) {return Vec(a.x*b.x, a.y*b.y, a.z*b.z);} friend Vec  operator/ (C Vec     &a, C Vec     &b) {return Vec(a.x/b.x, a.y/b.y, a.z/b.z);} The binding I've tried //Add .def(self + float()) .def(float() + self) .def(self + Vec()) //Subtract .def(self - float()) .def(float() - self) .def(self - Vec()) //Multiply .def(self * float()) .def(float() * self) .def(self * Vec()) //Divide .def(self / float()) .def(float() / self) .def(self / Vec()) //Equal .def(self == Vec()) and I can't do .def(C Vec() &+C Vec() &) and from what i can understand is because it isn't really taking itself as a param but there is also           Vec& operator+=(  Flt      r) {x+=  r; y+=  r; z+=  r; return T;}           Vec& operator-=(  Flt      r) {x-=  r; y-=  r; z-=  r; return T;}           Vec& operator*=(  Flt      r) {x*=  r; y*=  r; z*=  r; return T;}           Vec& operator/=(  Flt      r) {x/=  r; y/=  r; z/=  r; return T;}           Vec& operator+=(C Vec     &v) {x+=v.x; y+=v.y; z+=v.z; return T;}           Vec& operator-=(C Vec     &v) {x-=v.x; y-=v.y; z-=v.z; return T;}           Vec& operator*=(C Vec     &v) {x*=v.x; y*=v.y; z*=v.z; return T;}           Vec& operator/=(C Vec     &v) {x/=v.x; y/=v.y; z/=v.z; return T;}           Vec& operator*=(C Matrix3 &m) {return mul(m);}           Vec& operator/=(C Matrix3 &m) {return div(m);}           Vec& operator*=(C Matrix  &m) {return mul(m);}           Vec& operator/=(C Matrix  &m) {return div(m);}           Bool operator==(C Vec     &v)C;           Bool operator!=(C Vec     &v)C; but from what I understand these can't be binded? -- Later ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay_______________________________________________ luabind-user mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/luabind-user