summaryrefslogtreecommitdiff
path: root/Lib/guile
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/guile')
-rw-r--r--Lib/guile/std_auto_ptr.i6
-rw-r--r--Lib/guile/std_unique_ptr.i6
2 files changed, 12 insertions, 0 deletions
diff --git a/Lib/guile/std_auto_ptr.i b/Lib/guile/std_auto_ptr.i
index 1b1253a16..59d5c0ed8 100644
--- a/Lib/guile/std_auto_ptr.i
+++ b/Lib/guile/std_auto_ptr.i
@@ -25,6 +25,12 @@
%set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN));
%}
+%typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER, equivalent="TYPE *", noblock=1) std::auto_ptr< TYPE > {
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr($input, &vptr, $descriptor(TYPE *), 0);
+ $1 = SWIG_CheckState(res);
+}
+
%template() std::auto_ptr< TYPE >;
%enddef
diff --git a/Lib/guile/std_unique_ptr.i b/Lib/guile/std_unique_ptr.i
index 5fc4dc490..6f907e90c 100644
--- a/Lib/guile/std_unique_ptr.i
+++ b/Lib/guile/std_unique_ptr.i
@@ -25,6 +25,12 @@
%set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN));
%}
+%typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER, equivalent="TYPE *", noblock=1) std::unique_ptr< TYPE > {
+ void *vptr = 0;
+ int res = SWIG_ConvertPtr($input, &vptr, $descriptor(TYPE *), 0);
+ $1 = SWIG_CheckState(res);
+}
+
%template() std::unique_ptr< TYPE >;
%enddef