Overloading fixes for R and rtypecheck typemap

- Fix for special variable $argtype expansion in rtypecheck typemap.
- Remove unnecessary () brackets when using rtypecheck typemap for
  single parameter functions.
- Add rtypecheck typemaps for shared_ptr so that NULL can be used
  in overloaded functions taking shared_ptr.
This commit is contained in:
William S Fulton 2022-10-27 00:14:50 +01:00
commit d6d83f4df4
4 changed files with 26 additions and 13 deletions

View file

@ -400,6 +400,12 @@
SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *&
"$typemap(rtype, TYPE)"
%typemap(rtypecheck) SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE >,
SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > &,
SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *,
SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *&
"(extends($argtype, '$typemap(rtype, TYPE)') && length($arg) == 1) || is.null($arg)"
%typemap(scoercein) SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE >,
SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > &,
SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *,