Cosmetic formatting and doc updates in std_unique_ptr.i files

This commit is contained in:
William S Fulton 2022-07-17 20:44:20 +01:00
commit 5dd5e80a84
5 changed files with 48 additions and 41 deletions

View file

@ -1,10 +1,11 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* std_unique_ptr.i * std_unique_ptr.i
* *
* The typemaps here allow handling functions returning std::unique_ptr<>, * SWIG library file for handling std::unique_ptr.
* which is the most common use of this type. If you have functions taking it * Memory ownership is passed from the std::unique_ptr C++ layer to the proxy
* as parameter, these typemaps can't be used for them and you need to do * class when returning a std::unique_ptr from a function.
* something else (e.g. use shared_ptr<> which SWIG supports fully). * Memory ownership is passed from the proxy class to the std::unique_ptr in the
* C++ layer when passed as a parameter to a wrapped function.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%define %unique_ptr(TYPE) %define %unique_ptr(TYPE)
@ -20,11 +21,13 @@
%typemap (out) std::unique_ptr< TYPE > %{ %typemap (out) std::unique_ptr< TYPE > %{
$result = (void *)$1.release(); $result = (void *)$1.release();
%} %}
%typemap(csout, excode=SWIGEXCODE) std::unique_ptr< TYPE > { %typemap(csout, excode=SWIGEXCODE) std::unique_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::unique_ptr< TYPE >; %template() std::unique_ptr< TYPE >;
%enddef %enddef

View file

@ -1,10 +1,11 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* std_unique_ptr.i * std_unique_ptr.i
* *
* The typemaps here allow handling functions returning std::unique_ptr<>, * SWIG library file for handling std::unique_ptr.
* which is the most common use of this type. If you have functions taking it * Memory ownership is passed from the std::unique_ptr C++ layer to the proxy
* as parameter, these typemaps can't be used for them and you need to do * class when returning a std::unique_ptr from a function.
* something else (e.g. use shared_ptr<> which SWIG supports fully). * Memory ownership is passed from the proxy class to the std::unique_ptr in the
* C++ layer when passed as a parameter to a wrapped function.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%define %unique_ptr(TYPE) %define %unique_ptr(TYPE)

View file

@ -1,10 +1,11 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* std_unique_ptr.i * std_unique_ptr.i
* *
* The typemaps here allow handling functions returning std::unique_ptr<>, * SWIG library file for handling std::unique_ptr.
* which is the most common use of this type. If you have functions taking it * Memory ownership is passed from the std::unique_ptr C++ layer to the proxy
* as parameter, these typemaps can't be used for them and you need to do * class when returning a std::unique_ptr from a function.
* something else (e.g. use shared_ptr<> which SWIG supports fully). * Memory ownership is passed from the proxy class to the std::unique_ptr in the
* C++ layer when passed as a parameter to a wrapped function.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%define %unique_ptr(TYPE) %define %unique_ptr(TYPE)

View file

@ -1,10 +1,11 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* std_unique_ptr.i * std_unique_ptr.i
* *
* The typemaps here allow handling functions returning std::unique_ptr<>, * SWIG library file for handling std::unique_ptr.
* which is the most common use of this type. If you have functions taking it * Memory ownership is passed from the std::unique_ptr C++ layer to the proxy
* as parameter, these typemaps can't be used for them and you need to do * class when returning a std::unique_ptr from a function.
* something else (e.g. use shared_ptr<> which SWIG supports fully). * Memory ownership is passed from the proxy class to the std::unique_ptr in the
* C++ layer when passed as a parameter to a wrapped function.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%define %unique_ptr(TYPE) %define %unique_ptr(TYPE)

View file

@ -1,10 +1,11 @@
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* std_unique_ptr.i * std_unique_ptr.i
* *
* The typemaps here allow handling functions returning std::unique_ptr<>, * SWIG library file for handling std::unique_ptr.
* which is the most common use of this type. If you have functions taking it * Memory ownership is passed from the std::unique_ptr C++ layer to the proxy
* as parameter, these typemaps can't be used for them and you need to do * class when returning a std::unique_ptr from a function.
* something else (e.g. use shared_ptr<> which SWIG supports fully). * Memory ownership is passed from the proxy class to the std::unique_ptr in the
* C++ layer when passed as a parameter to a wrapped function.
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
%define %unique_ptr(TYPE) %define %unique_ptr(TYPE)