| %module python_annotations_c |
| |
| // Tests the C/C++ annotations that were automatically added by using -py3 before swig-4.1.0 |
| // In swig-4.1.0 and later, the feature below is needed as the -py3 option was dropped |
| %feature("python:annotations", "c") mymethod; |
| %feature("python:annotations", "c") makeT<short>; |
| %feature("python:annotations", "c") global_ints; |
| |
| %inline %{ |
| namespace Space { |
| template<class T> |
| struct Template { |
| void mymethod(int, Template* tt) {} |
| }; |
| } |
| template<typename T> |
| Space::Template<T> makeT(int x) { |
| return Space::Template<T>(); |
| }; |
| int *global_ints(int &ri, Space::Template<short> t) { return &ri; } |
| int *global_overloaded(int &ri) { return &ri; } |
| int *global_overloaded() { return NULL; } |
| int *no_annotations(int &ri, const char *c) { return NULL; } |
| %} |
| %template(TemplateShort) Space::Template<short>; |
| %template(MakeShort) makeT<short>; |
| |
| %inline %{ |
| #ifdef SWIGPYTHON_BUILTIN |
| int is_python_builtin() { return 1; } |
| #else |
| int is_python_builtin() { return 0; } |
| #endif |
| |
| #if defined SWIGPYTHON_FASTPROXY |
| int is_python_fastproxy() { return 1; } |
| #else |
| int is_python_fastproxy() { return 0; } |
| #endif |
| %} |