%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; %feature("python:annotations", "c") global_ints; %inline %{ namespace Space { template struct Template { void mymethod(int, Template* tt) {} }; } template Space::Template makeT(int x) { return Space::Template(); }; int *global_ints(int &ri, Space::Template 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; %template(MakeShort) makeT; %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 %}