%module template_nested_typemaps #pragma SWIG nowarn=SWIGWARN_PARSE_NAMED_NESTED_CLASS // Testing that the typemaps invoked within a class via %template are picked up by appropriate methods // Only for languages that support nested classes %inline %{ int globalInt1(int s) { return s; } short globalShort1(short s) { return s; } template <typename T> struct Breeze { template <typename TMT> struct Typemap { #ifdef SWIG %typemap(in) TMT { $1 = -99; } #endif }; template <typename TMT> struct TypemapShort { #ifdef SWIG %typemap(in) short { $1 = -77; } #endif }; int methodInt1(int s) { return s; } #if defined(SWIG) %template() Typemap<int>; #endif int methodInt2(int s) { return s; } // should pick up the typemap within Typemap<int> void takeIt(T t) {} short methodShort1(short s) { return s; } #if defined(SWIG) %template() TypemapShort<short>; #endif short methodShort2(short s) { return s; } // should pick up the typemap within Typemap<short> }; int globalInt2(int s) { return s; } short globalShort2(short s) { return s; } %} %template(BreezeString) Breeze<const char *>; %inline %{ int globalInt3(int s) { return s; } // should pick up the typemap within Typemap<int> short globalShort3(short s) { return s; } // should pick up the typemap within Typemap<short> %}
Generated by dwww version 1.15 on Tue Jul 2 00:16:55 CEST 2024.