1 /* ----------------------------------------------------------------------------- 2 * tclopers.swg 3 * 4 * C++ overloaded operators. 5 * 6 * These declarations define how SWIG is going to rename C++ 7 * overloaded operators in Tcl. Since Tcl allows identifiers 8 * to be essentially any valid string, we'll just use the 9 * normal operator names. 10 * ----------------------------------------------------------------------------- */ 11 12 13 #ifdef __cplusplus 14 %rename("+") *::operator+; 15 //%rename("u+") *::operator+(); // Unary + 16 //%rename("u+") *::operator+() const; // Unary + 17 %rename("-") *::operator-; 18 //%rename("u-") *::operator-(); // Unary - 19 //%rename("u-") *::operator-() const; // Unary - 20 %rename("*") *::operator*; 21 %rename("/") *::operator/; 22 %rename("<<") *::operator<<; 23 %rename(">>") *::operator>>; 24 %rename("&") *::operator&; 25 %rename("|") *::operator|; 26 %rename("^") *::operator^; 27 %rename("%") *::operator%; 28 %rename("=") *::operator=; 29 30 /* Ignored operators */ 31 %ignoreoperator(NOTEQUAL) operator!=; 32 %ignoreoperator(PLUSEQ) operator+=; 33 %ignoreoperator(MINUSEQ) operator-=; 34 %ignoreoperator(MULEQ) operator*=; 35 %ignoreoperator(DIVEQ) operator/=; 36 %ignoreoperator(MODEQ) operator%=; 37 %ignoreoperator(LSHIFTEQ) operator<<=; 38 %ignoreoperator(RSHIFTEQ) operator>>=; 39 %ignoreoperator(ANDEQ) operator&=; 40 %ignoreoperator(OREQ) operator|=; 41 %ignoreoperator(XOREQ) operator^=; 42 43 #endif 44