%module typemap_template_parms %typemap(ret) int "_this_will_not_compile_int_$symname" %extend X { %typemap(ret) T lake "/* ret lake X<T> */" %typemap(ret) T X<T>::rake "/* ret rake X<T> */" // Overrides below: %typemap(ret) T take %typemap(ret) T X<T>::take "/* ret take X<T> */" } %inline %{ template<typename T> struct X { #if defined(SWIG) %typemap(ret) T bake "/* ret bake X<T> */" %typemap(ret) T X<T>::make "/* ret make X<T> */" %typemap(ret) T take "_rake_T_this_will_not_compile_" #endif T bake() { return T(); } T make() { return T(); } T lake() { return T(); } T rake() { return T(); } T take() { return T(); } }; %} %template(Xint) X<int>; // The function name and parameter name are both 'labels' %inline %{ template <typename T> void labels(T labels) {} void voido(int vooo) {} %} // TODO: R has a problem with parameter names clashing with the function name #if !defined(SWIGR) %template(ShortLabels) labels<short>; #endif
Generated by dwww version 1.15 on Tue Jul 2 00:34:13 CEST 2024.