aboutsummaryrefslogtreecommitdiff
path: root/Lib/go
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2013-01-24 19:24:52 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2013-01-24 20:27:28 +0000
commite87a51ed92891e4f518fc3dcb32288cfe869a43a (patch)
tree09bdf022167fa61b1b47155e01e58ec392f68e31 /Lib/go
parent285198c48fc43a1e890f17537db0e7ed571be054 (diff)
downloadswig-e87a51ed92891e4f518fc3dcb32288cfe869a43a.tar.gz
Add rvalue reference typemaps
Diffstat (limited to 'Lib/go')
-rw-r--r--Lib/go/go.swg18
1 files changed, 17 insertions, 1 deletions
diff --git a/Lib/go/go.swg b/Lib/go/go.swg
index 648e112e1..7eb7c62c7 100644
--- a/Lib/go/go.swg
+++ b/Lib/go/go.swg
@@ -281,6 +281,21 @@ type _swig_memberptr *byte
%typemap(directorout) SWIGTYPE &
%{ *($&1_ltype)&$result = $input; %}
+%typemap(gotype) SWIGTYPE &&
+%{$gotypename%}
+
+%typemap(in) SWIGTYPE &&
+%{ $1 = *($&1_ltype)&$input; %}
+
+%typemap(out) SWIGTYPE &&
+%{ *($&1_ltype)&$result = $1; %}
+
+%typemap(directorin) SWIGTYPE &&
+%{ $input = ($1_ltype)&$1_name; %}
+
+%typemap(directorout) SWIGTYPE &&
+%{ *($&1_ltype)&$result = $input; %}
+
/* C arrays turn into Go pointers. If we know the length we can use a
slice. */
@@ -398,7 +413,7 @@ type _swig_memberptr *byte
%typemap(throws) char *
%{ _swig_gopanic($1); %}
-%typemap(throws) SWIGTYPE, SWIGTYPE &, SWIGTYPE *, SWIGTYPE [], SWIGTYPE [ANY]
+%typemap(throws) SWIGTYPE, SWIGTYPE &, SWIGTYPE &&, SWIGTYPE *, SWIGTYPE [], SWIGTYPE [ANY]
%{
(void)$1;
_swig_gopanic("C++ $1_type exception thrown");
@@ -504,6 +519,7 @@ type _swig_memberptr *byte
SWIGTYPE,
SWIGTYPE *,
SWIGTYPE &,
+ SWIGTYPE &&,
SWIGTYPE *const&,
SWIGTYPE [],
SWIGTYPE (CLASS::*)