Index: swig/Lib/python/pybackward.swg |
=================================================================== |
--- swig/Lib/python/pybackward.swg (revision 0) |
+++ swig/Lib/python/pybackward.swg (revision 0) |
@@ -0,0 +1,45 @@ |
+/* |
+ adding backward compatibility macros |
+*/ |
+ |
+#define SWIG_arg(x...) %arg(x) |
+#define SWIG_Mangle(x...) %mangle(x) |
+ |
+#define SWIG_As_frag(Type...) %fragment_name(As, Type) |
+#define SWIG_As_name(Type...) %symbol_name(As, Type) |
+#define SWIG_As(Type...) SWIG_As_name(Type) SWIG_AS_CALL_ARGS |
+ |
+#define SWIG_Check_frag(Type...) %fragment_name(Check, Type) |
+#define SWIG_Check_name(Type...) %symbol_name(Check, Type) |
+#define SWIG_Check(Type...) SWIG_Check_name(Type) SWIG_AS_CALL_ARGS |
+ |
+%define %ascheck_methods(Code, Type...) |
+%fragment(SWIG_As_frag(Type),"header", fragment=SWIG_AsVal_frag(Type)) { |
+SWIGINTERNINLINE Type |
+SWIG_As(Type)(PyObject* obj) |
+{ |
+ Type v; |
+ int res = SWIG_AsVal(Type)(obj, &v); |
+ if (!SWIG_IsOK(res)) { |
+ /* |
+ this is needed to make valgrind/purify happier. |
+ */ |
+ memset((void*)&v, 0, sizeof(Type)); |
+ SWIG_Error(res, ""); |
+ } |
+ return v; |
+} |
+} |
+ |
+%fragment(SWIG_Check_frag(Type),"header",fragment=SWIG_AsVal_frag(Type)) { |
+SWIGINTERNINLINE int |
+SWIG_Check(Type)(PyObject* obj) |
+{ |
+ int res = SWIG_AsVal(Type)(obj, (Type*)0); |
+ return SWIG_IsOK(res); |
+} |
+} |
+%enddef |
+ |
+%apply_checkctypes(%ascheck_methods) |
+ |