Cosmetic changes to auto_ptr library files

This commit is contained in:
William S Fulton 2022-07-02 16:12:16 +01:00
commit 980e21a3bf
4 changed files with 49 additions and 41 deletions

View file

@ -1,23 +1,25 @@
/* /* -----------------------------------------------------------------------------
The typemaps here allow handling functions returning std::auto_ptr<>, * std_auto_ptr.i
which is the most common use of this type. If you have functions taking it *
as parameter, these typemaps can't be used for them and you need to do * The typemaps here allow handling functions returning std::auto_ptr<>,
something else (e.g. use shared_ptr<> which SWIG supports fully). * which is the most common use of this type. If you have functions taking it
*/ * as parameter, these typemaps can't be used for them and you need to do
* something else (e.g. use shared_ptr<> which SWIG supports fully).
* ----------------------------------------------------------------------------- */
%define %auto_ptr(TYPE) %define %auto_ptr(TYPE)
%typemap (ctype) std::auto_ptr<TYPE > "void *" %typemap (ctype) std::auto_ptr< TYPE > "void *"
%typemap (imtype, out="System.IntPtr") std::auto_ptr<TYPE > "HandleRef" %typemap (imtype, out="System.IntPtr") std::auto_ptr< TYPE > "HandleRef"
%typemap (cstype) std::auto_ptr<TYPE > "$typemap(cstype, TYPE)" %typemap (cstype) std::auto_ptr< TYPE > "$typemap(cstype, TYPE)"
%typemap (out) std::auto_ptr<TYPE > %{ %typemap (out) std::auto_ptr< TYPE > %{
$result = (void *)$1.release(); $result = (void *)$1.release();
%} %}
%typemap(csout, excode=SWIGEXCODE) std::auto_ptr<TYPE > { %typemap(csout, excode=SWIGEXCODE) std::auto_ptr< TYPE > {
System.IntPtr cPtr = $imcall; System.IntPtr cPtr = $imcall;
$typemap(cstype, TYPE) ret = (cPtr == System.IntPtr.Zero) ? null : new $typemap(cstype, TYPE)(cPtr, true);$excode $typemap(cstype, TYPE) ret = (cPtr == System.IntPtr.Zero) ? null : new $typemap(cstype, TYPE)(cPtr, true);$excode
return ret; return ret;
} }
%template() std::auto_ptr<TYPE >; %template() std::auto_ptr< TYPE >;
%enddef %enddef
namespace std { namespace std {

View file

@ -1,25 +1,27 @@
/* /* -----------------------------------------------------------------------------
The typemaps here allow handling functions returning std::auto_ptr<>, * std_auto_ptr.i
which is the most common use of this type. If you have functions taking it *
as parameter, these typemaps can't be used for them and you need to do * The typemaps here allow handling functions returning std::auto_ptr<>,
something else (e.g. use shared_ptr<> which SWIG supports fully). * which is the most common use of this type. If you have functions taking it
*/ * as parameter, these typemaps can't be used for them and you need to do
* something else (e.g. use shared_ptr<> which SWIG supports fully).
* ----------------------------------------------------------------------------- */
%define %auto_ptr(TYPE) %define %auto_ptr(TYPE)
%typemap (jni) std::auto_ptr<TYPE > "jlong" %typemap (jni) std::auto_ptr< TYPE > "jlong"
%typemap (jtype) std::auto_ptr<TYPE > "long" %typemap (jtype) std::auto_ptr< TYPE > "long"
%typemap (jstype) std::auto_ptr<TYPE > "$typemap(jstype, TYPE)" %typemap (jstype) std::auto_ptr< TYPE > "$typemap(jstype, TYPE)"
%typemap (out) std::auto_ptr<TYPE > %{ %typemap (out) std::auto_ptr< TYPE > %{
jlong lpp = 0; jlong lpp = 0;
*(TYPE**) &lpp = $1.release(); *(TYPE **) &lpp = $1.release();
$result = lpp; $result = lpp;
%} %}
%typemap(javaout) std::auto_ptr<TYPE > { %typemap(javaout) std::auto_ptr< TYPE > {
long cPtr = $jnicall; long cPtr = $jnicall;
return (cPtr == 0) ? null : new $typemap(jstype, TYPE)(cPtr, true); return (cPtr == 0) ? null : new $typemap(jstype, TYPE)(cPtr, true);
} }
%template() std::auto_ptr<TYPE >; %template() std::auto_ptr< TYPE >;
%enddef %enddef
namespace std { namespace std {

View file

@ -1,15 +1,17 @@
/* /* -----------------------------------------------------------------------------
The typemaps here allow handling functions returning std::auto_ptr<>, * std_auto_ptr.i
which is the most common use of this type. If you have functions taking it *
as parameter, these typemaps can't be used for them and you need to do * The typemaps here allow handling functions returning std::auto_ptr<>,
something else (e.g. use shared_ptr<> which SWIG supports fully). * which is the most common use of this type. If you have functions taking it
*/ * as parameter, these typemaps can't be used for them and you need to do
* something else (e.g. use shared_ptr<> which SWIG supports fully).
* ----------------------------------------------------------------------------- */
%define %auto_ptr(TYPE) %define %auto_ptr(TYPE)
%typemap (out) std::auto_ptr<TYPE > %{ %typemap (out) std::auto_ptr< TYPE > %{
%set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN | %newpointer_flags)); %set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN | %newpointer_flags));
%} %}
%template() std::auto_ptr<TYPE >; %template() std::auto_ptr< TYPE >;
%enddef %enddef
namespace std { namespace std {

View file

@ -1,15 +1,17 @@
/* /* -----------------------------------------------------------------------------
The typemaps here allow handling functions returning std::auto_ptr<>, * std_auto_ptr.i
which is the most common use of this type. If you have functions taking it *
as parameter, these typemaps can't be used for them and you need to do * The typemaps here allow handling functions returning std::auto_ptr<>,
something else (e.g. use shared_ptr<> which SWIG supports fully). * which is the most common use of this type. If you have functions taking it
*/ * as parameter, these typemaps can't be used for them and you need to do
* something else (e.g. use shared_ptr<> which SWIG supports fully).
* ----------------------------------------------------------------------------- */
%define %auto_ptr(TYPE) %define %auto_ptr(TYPE)
%typemap (out) std::auto_ptr<TYPE > %{ %typemap (out) std::auto_ptr< TYPE > %{
%set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN | %newpointer_flags)); %set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN | %newpointer_flags));
%} %}
%template() std::auto_ptr<TYPE >; %template() std::auto_ptr< TYPE >;
%enddef %enddef
namespace std { namespace std {