diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2022-09-17 10:23:51 +0100 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2022-09-17 10:23:51 +0100 |
commit | e97181ebc07a4755c1ab3e6f08eef12a3f9de07e (patch) | |
tree | 16dc71ce60c3a97a93976af5fdd5e86482aaa8c1 /Lib/perl5/std_auto_ptr.i | |
parent | f0af17b3244d98109a62e3fda5ab6e5fc458283d (diff) | |
download | swig-e97181ebc07a4755c1ab3e6f08eef12a3f9de07e.tar.gz |
Add missing typecheck typemaps for std::auto_ptr and std::unique_ptr
To fix overloading when using these types.
Diffstat (limited to 'Lib/perl5/std_auto_ptr.i')
-rw-r--r-- | Lib/perl5/std_auto_ptr.i | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/perl5/std_auto_ptr.i b/Lib/perl5/std_auto_ptr.i index d062886e4..3d7ae8ba1 100644 --- a/Lib/perl5/std_auto_ptr.i +++ b/Lib/perl5/std_auto_ptr.i @@ -25,6 +25,12 @@ %set_output(SWIG_NewPointerObj($1.release(), $descriptor(TYPE *), SWIG_POINTER_OWN | %newpointer_flags)); %} +%typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER, equivalent="TYPE *", noblock=1) std::auto_ptr< TYPE > { + void *vptr = 0; + int res = SWIG_ConvertPtr($input, &vptr, $descriptor(TYPE *), 0); + $1 = SWIG_CheckState(res); +} + %template() std::auto_ptr< TYPE >; %enddef |