PageRenderTime 52ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Lib/perl5/perlopers.swg

#
Unknown | 54 lines | 47 code | 7 blank | 0 comment | 0 complexity | 953fa733ca1f3f02c641619ac24e90f7 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. // These are auto-supported by the Perl-module
  6. %rename(__plusplus__) *::operator++;
  7. %rename(__minmin__) *::operator--;
  8. %rename(__add__) *::operator+;
  9. %rename(__sub__) *::operator-;
  10. %rename(__neg__) *::operator-();
  11. %rename(__neg__) *::operator-() const;
  12. %rename(__mul__) *::operator*;
  13. %rename(__div__) *::operator/;
  14. %rename(__eq__) *::operator==;
  15. %rename(__ne__) *::operator!=;
  16. %rename(__mod__) *::operator%;
  17. %rename(__gt__) *::operator>;
  18. %rename(__lt__) *::operator<;
  19. %rename(__not__) *::operator!;
  20. %rename(__le__) *::operator<=;
  21. %rename(__ge__) *::operator>=;
  22. %rename(__and__) *::operator&;
  23. %rename(__or__) *::operator|;
  24. %rename(__iadd__) *::operator+=;
  25. %rename(__isub__) *::operator-=;
  26. // These are renamed, but no test exists in operator_overload_runme.pl
  27. %ignoreoperator(EQ) operator=;
  28. // These are renamed, but no 'use overload...' is added
  29. %rename(__lshift__) *::operator<<;
  30. %rename(__rshift__) *::operator>>;
  31. %rename(__xor__) *::operator^;
  32. %rename(__invert__) *::operator~;
  33. %rename(__call__) *::operator();
  34. /* Ignored operators */
  35. %ignoreoperator(LAND) operator&&;
  36. %ignoreoperator(LOR) operator||;
  37. %ignoreoperator(MULEQ) operator*=;
  38. %ignoreoperator(DIVEQ) operator/=;
  39. %ignoreoperator(MODEQ) operator%=;
  40. %ignoreoperator(LSHIFTEQ) operator<<=;
  41. %ignoreoperator(RSHIFTEQ) operator>>=;
  42. %ignoreoperator(ANDEQ) operator&=;
  43. %ignoreoperator(OREQ) operator|=;
  44. %ignoreoperator(XOREQ) operator^=;
  45. %ignoreoperator(ARROWSTAR) operator->*;
  46. %ignoreoperator(INDEX) operator[];
  47. #endif /* __cplusplus */