summaryrefslogtreecommitdiff
path: root/Lib/d
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2017-09-23 14:46:44 +0100
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2017-09-23 15:19:34 +0100
commited4b84f4d3912a29e03aa1c0a9e8160a884e09d7 (patch)
tree20b5184f018d462bcfd60c258e3e1086b1cddd1c /Lib/d
parentf5e18566507133b6d4ed03035dbca9ee3c1553c7 (diff)
downloadswig-ed4b84f4d3912a29e03aa1c0a9e8160a884e09d7.tar.gz
Fix overloading of shared_ptr method overloading
Add 'equivalent' attribute to typecheck typemap. Closes #1098.
Diffstat (limited to 'Lib/d')
-rw-r--r--Lib/d/boost_shared_ptr.i12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/d/boost_shared_ptr.i b/Lib/d/boost_shared_ptr.i
index 5c171555e..5ee928465 100644
--- a/Lib/d/boost_shared_ptr.i
+++ b/Lib/d/boost_shared_ptr.i
@@ -197,5 +197,17 @@ public static void* swigGetCPtr(typeof(this) obj) {
}
}
+// Typecheck typemaps
+%typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER, equivalent="TYPE *")
+ TYPE CONST,
+ TYPE CONST &,
+ TYPE CONST *,
+ TYPE *CONST&,
+ SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE >,
+ SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > &,
+ SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *,
+ SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *&
+ ""
+
%template() SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE >;
%enddef