mirror of https://github.com/swig/swig
26 lines
439 B
OpenEdge ABL
26 lines
439 B
OpenEdge ABL
/* File : example.i */
|
|
%module example
|
|
|
|
|
|
%inline %{
|
|
// From B. Strousjoup, "The C++ Programming Language, Third Edition", p. 514
|
|
template<class T> class Sum {
|
|
T res;
|
|
public:
|
|
Sum(T i = 0) : res(i) { }
|
|
void operator() (T x) { res += x; }
|
|
T result() const { return res; }
|
|
};
|
|
|
|
%}
|
|
|
|
%rename(call) *::operator(); // the fn call operator
|
|
|
|
// Instantiate a few versions
|
|
%template(intSum) Sum<int>;
|
|
%template(doubleSum) Sum<double>;
|
|
|
|
|
|
|
|
|