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