summaryrefslogtreecommitdiff
path: root/Lib/tcl/tclopers.swg
blob: f113ccd19d3e4ce0a3c3fdc73f81a44e89c80b35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* -----------------------------------------------------------------------------
 * tclopers.swg
 *
 * C++ overloaded operators.
 *
 * These declarations define how SWIG is going to rename C++
 * overloaded operators in Tcl.  Since Tcl allows identifiers
 * to be essentially any valid string, we'll just use the
 * normal operator names.
 * ----------------------------------------------------------------------------- */


#ifdef __cplusplus
%rename("+")         *::operator+;
//%rename("u+")        *::operator+();     // Unary +
//%rename("u+")        *::operator+() const;     // Unary +
%rename("-")         *::operator-;
//%rename("u-")        *::operator-();     // Unary -
//%rename("u-")        *::operator-() const;     // Unary -
%rename("*")         *::operator*;
%rename("/")         *::operator/;
%rename("<<")        *::operator<<;
%rename(">>")        *::operator>>;
%rename("&")         *::operator&;
%rename("|")         *::operator|;
%rename("^")         *::operator^;
%rename("%")         *::operator%;
%rename("=")         *::operator=;

/* Ignored operators */
%ignoreoperator(NOTEQUAL) operator!=;
%ignoreoperator(PLUSEQ)   operator+=;
%ignoreoperator(MINUSEQ)  operator-=;
%ignoreoperator(MULEQ)    operator*=;
%ignoreoperator(DIVEQ)    operator/=;
%ignoreoperator(MODEQ)    operator%=;
%ignoreoperator(LSHIFTEQ) operator<<=;
%ignoreoperator(RSHIFTEQ) operator>>=;
%ignoreoperator(ANDEQ)    operator&=;
%ignoreoperator(OREQ)     operator|=;
%ignoreoperator(XOREQ)    operator^=;

#endif