git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11735 626c5289-ae23-0410-ae9c-e8d60b6d4f22
40 lines
567 B
OpenEdge ABL
40 lines
567 B
OpenEdge ABL
/* File : template_classes.i */
|
|
/* Tests the use of one templated class within another */
|
|
|
|
%module template_classes
|
|
|
|
%inline %{
|
|
|
|
template <class T>
|
|
class Point {
|
|
public:
|
|
T getX() {return x;}
|
|
private:
|
|
T x;
|
|
};
|
|
|
|
template <class T>
|
|
class RectangleTest {
|
|
public:
|
|
Point<T>& getPoint() {return point;}
|
|
void setPoint(Point<T>& value) {point = value;}
|
|
private:
|
|
Point<T> point;
|
|
|
|
template <class Data>
|
|
struct pair2nd_eq
|
|
{
|
|
};
|
|
|
|
struct Foo : Point<int>
|
|
{
|
|
};
|
|
|
|
Foo foo;
|
|
};
|
|
|
|
%}
|
|
|
|
%template(PointInt) Point<int>;
|
|
%template(RectangleInt) RectangleTest<int>;
|
|
|