1
/* ------------------------------------------------------------
2
* Overloaded operator support
3
* ------------------------------------------------------------ */
7
// operators supported in Octave, and the methods they are routed to
10
// __brace_asgn a{args} = rhs
12
// __paren_asgn a(args) = rhs
13
// __str generates string rep
43
// operators supported in C++, and the methods that route to them
45
%rename(__add) *::operator+;
46
%rename(__add) *::operator+();
47
%rename(__add) *::operator+() const;
48
%rename(__sub) *::operator-;
49
%rename(__uminus) *::operator-();
50
%rename(__uminus) *::operator-() const;
51
%rename(__mul) *::operator*;
52
%rename(__div) *::operator/;
53
%rename(__mod) *::operator%;
54
%rename(__lshift) *::operator<<;
55
%rename(__rshift) *::operator>>;
56
%rename(__el_and) *::operator&&;
57
%rename(__el_or) *::operator||;
58
%rename(__xor) *::operator^;
59
%rename(__invert) *::operator~;
60
%rename(__lt) *::operator<;
61
%rename(__le) *::operator<=;
62
%rename(__gt) *::operator>;
63
%rename(__ge) *::operator>=;
64
%rename(__eq) *::operator==;
65
%rename(__ne) *::operator!=;
66
%rename(__not) *::operator!;
67
%rename(__incr) *::operator++;
68
%rename(__decr) *::operator--;
69
%rename(__paren) *::operator();
70
%rename(__brace) *::operator[];
72
// Ignored inplace operators
73
%ignoreoperator(PLUSEQ) operator+=;
74
%ignoreoperator(MINUSEQ) operator-=;
75
%ignoreoperator(MULEQ) operator*=;
76
%ignoreoperator(DIVEQ) operator/=;
77
%ignoreoperator(MODEQ) operator%=;
78
%ignoreoperator(LSHIFTEQ) operator<<=;
79
%ignoreoperator(RSHIFTEQ) operator>>=;
80
%ignoreoperator(ANDEQ) operator&=;
81
%ignoreoperator(OREQ) operator|=;
82
%ignoreoperator(XOREQ) operator^=;
85
%ignoreoperator(EQ) operator=;
86
%ignoreoperator(ARROWSTAR) operator->*;
88
#endif /* __cplusplus */