summaryrefslogtreecommitdiff
path: root/share/swig/2.0.11/octave/octopers.swg
blob: c38e64d8c1e267fd2d493a8ca3832eefb0e5030c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/* ------------------------------------------------------------
 * Overloaded operator support
 * ------------------------------------------------------------ */

#ifdef __cplusplus

// operators supported in Octave, and the methods they are routed to

// __brace__      a{args}
// __brace_asgn__ a{args} = rhs
// __paren__      a(args)
// __paren_asgn__ a(args) = rhs
// __str__        generates string rep

// __not__        !a
// __uplus__      +a
// __uminus__     -a
// __transpose__  a.'
// __hermitian__  a'
// __incr__       a++
// __decr__       a--
// __add__        a + b
// __sub__        a - b
// __mul__        a * b
// __div__        a / b
// __pow__        a ^ b
// __ldiv__       a \ b
// __lshift__     a << b
// __rshift__     a >> b
// __lt__         a < b
// __le__         a <= b
// __eq__         a == b
// __ge__         a >= b
// __gt__         a > b
// __ne__         a != b
// __el_mul__     a .* b
// __el_div__     a ./ b
// __el_pow__     a .^ b
// __el_ldiv__    a .\ b
// __el_and__     a & b
// __el_or__      a | b

// operators supported in C++, and the methods that route to them

%rename(__add__)       *::operator+;
%rename(__add__)       *::operator+();
%rename(__add__)       *::operator+() const;
%rename(__sub__)       *::operator-;
%rename(__uminus__)    *::operator-();
%rename(__uminus__)    *::operator-() const;
%rename(__mul__)       *::operator*;
%rename(__div__)       *::operator/;
%rename(__mod__)       *::operator%;
%rename(__lshift__)    *::operator<<;
%rename(__rshift__)    *::operator>>;
%rename(__el_and__)    *::operator&&;
%rename(__el_or__)     *::operator||;
%rename(__xor__)       *::operator^;
%rename(__invert__)    *::operator~;
%rename(__lt__)        *::operator<;
%rename(__le__)        *::operator<=;
%rename(__gt__)        *::operator>;
%rename(__ge__)        *::operator>=;
%rename(__eq__)        *::operator==;
%rename(__ne__)        *::operator!=;
%rename(__not__)       *::operator!;
%rename(__incr__)      *::operator++;
%rename(__decr__)      *::operator--;
%rename(__paren__)     *::operator();
%rename(__brace__)     *::operator[];

// Ignored inplace operators
%ignoreoperator(PLUSEQ)     operator+=;
%ignoreoperator(MINUSEQ)    operator-=;
%ignoreoperator(MULEQ)      operator*=;
%ignoreoperator(DIVEQ)      operator/=;
%ignoreoperator(MODEQ)      operator%=;
%ignoreoperator(LSHIFTEQ)   operator<<=;
%ignoreoperator(RSHIFTEQ)   operator>>=;
%ignoreoperator(ANDEQ)      operator&=;
%ignoreoperator(OREQ)       operator|=;
%ignoreoperator(XOREQ)      operator^=;

// Ignored operators
%ignoreoperator(EQ)         operator=;
%ignoreoperator(ARROWSTAR)  operator->*;

#endif /* __cplusplus */