Home | History | Annotate | Download | only in tcl
      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