summaryrefslogtreecommitdiff
path: root/share/swig/2.0.11/perl5/perlopers.swg
diff options
context:
space:
mode:
Diffstat (limited to 'share/swig/2.0.11/perl5/perlopers.swg')
-rw-r--r--share/swig/2.0.11/perl5/perlopers.swg54
1 files changed, 54 insertions, 0 deletions
diff --git a/share/swig/2.0.11/perl5/perlopers.swg b/share/swig/2.0.11/perl5/perlopers.swg
new file mode 100644
index 0000000..e7d13b6
--- /dev/null
+++ b/share/swig/2.0.11/perl5/perlopers.swg
@@ -0,0 +1,54 @@
+/* ------------------------------------------------------------
+ * Overloaded operator support
+ * ------------------------------------------------------------ */
+
+#ifdef __cplusplus
+
+// These are auto-supported by the Perl-module
+%rename(__plusplus__) *::operator++;
+%rename(__minmin__) *::operator--;
+%rename(__add__) *::operator+;
+%rename(__sub__) *::operator-;
+%rename(__neg__) *::operator-();
+%rename(__neg__) *::operator-() const;
+%rename(__mul__) *::operator*;
+%rename(__div__) *::operator/;
+%rename(__eq__) *::operator==;
+%rename(__ne__) *::operator!=;
+%rename(__mod__) *::operator%;
+%rename(__gt__) *::operator>;
+%rename(__lt__) *::operator<;
+%rename(__not__) *::operator!;
+%rename(__le__) *::operator<=;
+%rename(__ge__) *::operator>=;
+%rename(__and__) *::operator&;
+%rename(__or__) *::operator|;
+%rename(__iadd__) *::operator+=;
+%rename(__isub__) *::operator-=;
+
+// These are renamed, but no test exists in operator_overload_runme.pl
+%ignoreoperator(EQ) operator=;
+
+// These are renamed, but no 'use overload...' is added
+%rename(__lshift__) *::operator<<;
+%rename(__rshift__) *::operator>>;
+%rename(__xor__) *::operator^;
+%rename(__invert__) *::operator~;
+%rename(__call__) *::operator();
+
+/* Ignored operators */
+%ignoreoperator(LAND) operator&&;
+%ignoreoperator(LOR) 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^=;
+%ignoreoperator(ARROWSTAR) operator->*;
+%ignoreoperator(INDEX) operator[];
+
+
+#endif /* __cplusplus */