summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2022-10-13 22:22:18 +0100
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2022-10-13 22:22:18 +0100
commit752b7e82cd61a80eb0f5dd80f134ba80bcae4973 (patch)
tree4136d47b645e4a728455b8d1eeb9fa2736ee55ad /Lib
parentf13de56e5f88aaed94a2fe143ee766755ee82cf1 (diff)
downloadswig-752b7e82cd61a80eb0f5dd80f134ba80bcae4973.tar.gz
Add missing SWIGTYPE *const& typemaps
Diffstat (limited to 'Lib')
-rw-r--r--Lib/r/rtype.swg9
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/r/rtype.swg b/Lib/r/rtype.swg
index 41f0affe1..a9c067589 100644
--- a/Lib/r/rtype.swg
+++ b/Lib/r/rtype.swg
@@ -14,12 +14,13 @@
%typemap("rtype") bool, bool * "logical"
%typemap("rtype") enum SWIGTYPE "character"
%typemap("rtype") enum SWIGTYPE * "character"
-%typemap("rtype") enum SWIGTYPE *const "character"
+%typemap("rtype") enum SWIGTYPE *const& "character"
%typemap("rtype") enum SWIGTYPE & "character"
%typemap("rtype") const enum SWIGTYPE & "character"
%typemap("rtype") enum SWIGTYPE && "character"
%typemap("rtype") SWIGTYPE * "$R_class"
%typemap("rtype") SWIGTYPE *const "$R_class"
+%typemap("rtype") SWIGTYPE *const& "$*R_class"
%typemap("rtype") SWIGTYPE & "$R_class"
%typemap("rtype") SWIGTYPE && "$R_class"
%typemap("rtype") SWIGTYPE "$&R_class"
@@ -93,7 +94,7 @@
%typemap(scoercein) enum SWIGTYPE *const
%{ $input = enumToInteger($input, "$R_class"); %}
-%typemap(scoercein) SWIGTYPE, SWIGTYPE *, SWIGTYPE *const, SWIGTYPE &, SWIGTYPE &&
+%typemap(scoercein) SWIGTYPE, SWIGTYPE *, SWIGTYPE *const, SWIGTYPE *const&, SWIGTYPE &, SWIGTYPE &&
%{ if (inherits($input, "ExternalReference")) $input = slot($input,"ref"); %}
/*
@@ -172,6 +173,10 @@ string &, std::string &
%{ $result <- if (is.null($result)) $result
else new("$R_class", ref=$result); %}
+%typemap(scoerceout) SWIGTYPE *const&
+ %{ $result <- if (is.null($result)) $result
+ else new("$*R_class", ref=$result); %}
+
/* Override the SWIGTYPE * above. */
%typemap(scoerceout) char,