tclopers.swg 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #ifdef __cplusplus
  12. %rename("+") *::operator+;
  13. //%rename("u+") *::operator+(); // Unary +
  14. //%rename("u+") *::operator+() const; // Unary +
  15. %rename("-") *::operator-;
  16. //%rename("u-") *::operator-(); // Unary -
  17. //%rename("u-") *::operator-() const; // Unary -
  18. %rename("*") *::operator*;
  19. %rename("/") *::operator/;
  20. %rename("<<") *::operator<<;
  21. %rename(">>") *::operator>>;
  22. %rename("&") *::operator&;
  23. %rename("|") *::operator|;
  24. %rename("^") *::operator^;
  25. %rename("%") *::operator%;
  26. %rename("=") *::operator=;
  27. /* Ignored operators */
  28. %ignoreoperator(NOTEQUAL) operator!=;
  29. %ignoreoperator(PLUSEQ) operator+=;
  30. %ignoreoperator(MINUSEQ) operator-=;
  31. %ignoreoperator(MULEQ) operator*=;
  32. %ignoreoperator(DIVEQ) operator/=;
  33. %ignoreoperator(MODEQ) operator%=;
  34. %ignoreoperator(LSHIFTEQ) operator<<=;
  35. %ignoreoperator(RSHIFTEQ) operator>>=;
  36. %ignoreoperator(ANDEQ) operator&=;
  37. %ignoreoperator(OREQ) operator|=;
  38. %ignoreoperator(XOREQ) operator^=;
  39. #endif