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