1#ifdef __cplusplus
2
3// These are auto-supported by the Perl-module
4%rename(__plusplus__) *::operator++;
5%rename(__minmin__)   *::operator--;
6%rename(__add__)      *::operator+;
7%rename(__sub__)      *::operator-;
8%rename(__neg__)      *::operator-();
9%rename(__neg__)      *::operator-() const;
10%rename(__mul__)      *::operator*;
11%rename(__div__)      *::operator/;
12%rename(__eq__)       *::operator==;
13%rename(__ne__)       *::operator!=;
14%rename(__mod__)      *::operator%;
15%rename(__gt__)       *::operator>;
16%rename(__lt__)       *::operator<;
17%rename(__not__)      *::operator!;
18
19// These are renamed, but no 'use overload...' is added
20%rename(__lshift__)   *::operator<<;
21%rename(__rshift__)   *::operator>>;
22%rename(__and__)      *::operator&;
23%rename(__or__)       *::operator|;
24%rename(__xor__)      *::operator^;
25%rename(__invert__)   *::operator~;
26%rename(__le__)       *::operator<=;
27%rename(__ge__)       *::operator>=;
28%rename(__call__)     *::operator();
29%rename(__getitem__)  *::operator[];
30
31%rename(__seteq__)    *::operator=;
32
33
34%rename(__land__)       operator&&;
35%rename(__lor__)        operator||;
36%rename(__plusplus__)   *::operator++;
37%rename(__minusminus__) *::operator--;
38%rename(__arrowstar__)  *::operator->*;
39%rename(__index__)      *::operator[];
40
41%rename(Equal) operator =;
42%rename(PlusEqual) operator +=;
43%rename(MinusEqual) operator -=;
44%rename(MultiplyEqual) operator *=;
45%rename(DivideEqual) operator /=;
46%rename(PercentEqual) operator %=;
47%rename(Plus) operator +;
48%rename(Minus) operator -;
49%rename(Multiply) operator *;
50%rename(Divide) operator /;
51%rename(Percent) operator %;
52%rename(Not) operator !;
53%rename(IndexIntoConst) operator[](unsigned idx) const;
54%rename(IndexInto) operator[](unsigned idx);
55%rename(Functor) operator ();
56%rename(EqualEqual) operator ==;
57%rename(NotEqual) operator !=;
58%rename(LessThan) operator <;
59%rename(LessThanEqual) operator <=;
60%rename(GreaterThan) operator >;
61%rename(GreaterThanEqual) operator >=;
62%rename(And) operator &&;
63%rename(Or) operator ||;
64%rename(PlusPlusPrefix) operator++();
65%rename(PlusPlusPostfix) operator++(int);
66%rename(MinusMinusPrefix) operator--();
67%rename(MinusMinusPostfix) operator--(int);
68
69
70#endif
71