%module overload_template %inline %{ int foo() { return 3; } template int foo(int x) { return x; } template T max(T a, T b) { return (a > b) ? a : b; } %} %template(max) max; %template(max) max;