swig/Examples/test-suite/member_template.i

29 lines
402 B
OpenEdge ABL

%module member_template
%{
#ifdef max
#undef max
#endif
%}
%inline %{
template<class T> T max(T x, T y, T z) { return (x > y) ? x : y; }
template<class T> class Foo {
public:
template<class S> S max(S x, S y) { return (x > y) ? x : y; }
};
%}
%extend Foo {
%template(maxi) max<int>;
%template(maxd) max<double>;
};
%template(Fooint) Foo<int>;
%template(Foodouble) Foo<double>;