PageRenderTime 26ms CodeModel.GetById 1ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Lib/octave/octopers.swg

#
Unknown | 88 lines | 79 code | 9 blank | 0 comment | 0 complexity | bb21f2660b79808bfe995547eb3cd474 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. /* ------------------------------------------------------------
  2. * Overloaded operator support
  3. * ------------------------------------------------------------ */
  4. #ifdef __cplusplus
  5. // operators supported in Octave, and the methods they are routed to
  6. // __brace__ a{args}
  7. // __brace_asgn__ a{args} = rhs
  8. // __paren__ a(args)
  9. // __paren_asgn__ a(args) = rhs
  10. // __str__ generates string rep
  11. // __not__ !a
  12. // __uplus__ +a
  13. // __uminus__ -a
  14. // __transpose__ a.'
  15. // __hermitian__ a'
  16. // __incr__ a++
  17. // __decr__ a--
  18. // __add__ a + b
  19. // __sub__ a - b
  20. // __mul__ a * b
  21. // __div__ a / b
  22. // __pow__ a ^ b
  23. // __ldiv__ a \ b
  24. // __lshift__ a << b
  25. // __rshift__ a >> b
  26. // __lt__ a < b
  27. // __le__ a <= b
  28. // __eq__ a == b
  29. // __ge__ a >= b
  30. // __gt__ a > b
  31. // __ne__ a != b
  32. // __el_mul__ a .* b
  33. // __el_div__ a ./ b
  34. // __el_pow__ a .^ b
  35. // __el_ldiv__ a .\ b
  36. // __el_and__ a & b
  37. // __el_or__ a | b
  38. // operators supported in C++, and the methods that route to them
  39. %rename(__add__) *::operator+;
  40. %rename(__add__) *::operator+();
  41. %rename(__add__) *::operator+() const;
  42. %rename(__sub__) *::operator-;
  43. %rename(__uminus__) *::operator-();
  44. %rename(__uminus__) *::operator-() const;
  45. %rename(__mul__) *::operator*;
  46. %rename(__div__) *::operator/;
  47. %rename(__mod__) *::operator%;
  48. %rename(__lshift__) *::operator<<;
  49. %rename(__rshift__) *::operator>>;
  50. %rename(__el_and__) *::operator&&;
  51. %rename(__el_or__) *::operator||;
  52. %rename(__xor__) *::operator^;
  53. %rename(__invert__) *::operator~;
  54. %rename(__lt__) *::operator<;
  55. %rename(__le__) *::operator<=;
  56. %rename(__gt__) *::operator>;
  57. %rename(__ge__) *::operator>=;
  58. %rename(__eq__) *::operator==;
  59. %rename(__ne__) *::operator!=;
  60. %rename(__not__) *::operator!;
  61. %rename(__incr__) *::operator++;
  62. %rename(__decr__) *::operator--;
  63. %rename(__paren__) *::operator();
  64. %rename(__brace__) *::operator[];
  65. // Ignored inplace operators
  66. %ignoreoperator(PLUSEQ) operator+=;
  67. %ignoreoperator(MINUSEQ) operator-=;
  68. %ignoreoperator(MULEQ) operator*=;
  69. %ignoreoperator(DIVEQ) operator/=;
  70. %ignoreoperator(MODEQ) operator%=;
  71. %ignoreoperator(LSHIFTEQ) operator<<=;
  72. %ignoreoperator(RSHIFTEQ) operator>>=;
  73. %ignoreoperator(ANDEQ) operator&=;
  74. %ignoreoperator(OREQ) operator|=;
  75. %ignoreoperator(XOREQ) operator^=;
  76. // Ignored operators
  77. %ignoreoperator(EQ) operator=;
  78. %ignoreoperator(ARROWSTAR) operator->*;
  79. #endif /* __cplusplus */