More rvalue reference typemaps
This commit is contained in:
parent
07c35d61e3
commit
1386b73545
1 changed files with 11 additions and 1 deletions
|
|
@ -427,6 +427,12 @@ SWIGINTERN const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
|
||||||
%{ $input = (void *) $1; %}
|
%{ $input = (void *) $1; %}
|
||||||
|
|
||||||
%typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE &
|
%typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE &
|
||||||
|
%{ if (!$input) {
|
||||||
|
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0);
|
||||||
|
return $null;
|
||||||
|
}
|
||||||
|
$result = ($1_ltype)$input; %}
|
||||||
|
%typemap(directorout, warning=SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG) SWIGTYPE &&
|
||||||
%{ if (!$input) {
|
%{ if (!$input) {
|
||||||
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0);
|
SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type $1_type", 0);
|
||||||
return $null;
|
return $null;
|
||||||
|
|
@ -434,10 +440,13 @@ SWIGINTERN const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
|
||||||
$result = ($1_ltype)$input; %}
|
$result = ($1_ltype)$input; %}
|
||||||
%typemap(directorin) SWIGTYPE &
|
%typemap(directorin) SWIGTYPE &
|
||||||
%{ $input = ($1_ltype) &$1; %}
|
%{ $input = ($1_ltype) &$1; %}
|
||||||
|
%typemap(directorin) SWIGTYPE &&
|
||||||
|
%{ $input = ($1_ltype) &$1; %}
|
||||||
|
|
||||||
%typemap(csdirectorin) SWIGTYPE *, SWIGTYPE (CLASS::*) "($iminput == IntPtr.Zero) ? null : new $csclassname($iminput, false)"
|
%typemap(csdirectorin) SWIGTYPE *, SWIGTYPE (CLASS::*) "($iminput == IntPtr.Zero) ? null : new $csclassname($iminput, false)"
|
||||||
%typemap(csdirectorin) SWIGTYPE & "new $csclassname($iminput, false)"
|
%typemap(csdirectorin) SWIGTYPE & "new $csclassname($iminput, false)"
|
||||||
%typemap(csdirectorout) SWIGTYPE *, SWIGTYPE (CLASS::*), SWIGTYPE & "$csclassname.getCPtr($cscall).Handle"
|
%typemap(csdirectorin) SWIGTYPE && "new $csclassname($iminput, false)"
|
||||||
|
%typemap(csdirectorout) SWIGTYPE *, SWIGTYPE (CLASS::*), SWIGTYPE &, SWIGTYPE && "$csclassname.getCPtr($cscall).Handle"
|
||||||
|
|
||||||
/* Default array handling */
|
/* Default array handling */
|
||||||
%typemap(in) SWIGTYPE [] %{ $1 = ($1_ltype)$input; %}
|
%typemap(in) SWIGTYPE [] %{ $1 = ($1_ltype)$input; %}
|
||||||
|
|
@ -973,6 +982,7 @@ using System.Runtime.InteropServices;
|
||||||
|
|
||||||
/* Array reference typemaps */
|
/* Array reference typemaps */
|
||||||
%apply SWIGTYPE & { SWIGTYPE ((&)[ANY]) }
|
%apply SWIGTYPE & { SWIGTYPE ((&)[ANY]) }
|
||||||
|
%apply SWIGTYPE && { SWIGTYPE ((&&)[ANY]) }
|
||||||
|
|
||||||
/* const pointers */
|
/* const pointers */
|
||||||
%apply SWIGTYPE * { SWIGTYPE *const }
|
%apply SWIGTYPE * { SWIGTYPE *const }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue