| /* 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;} | |
| static int static_noargs() { return 0; } | |
| static int static_onearg(int i) { return i; } | |
| private: | |
| Point<T> point; | |
| template <class Data> | |
| struct pair2nd_eq | |
| { | |
| }; | |
| struct Foo : Point<int> | |
| { | |
| }; | |
| Foo foo; | |
| }; | |
| %} | |
| %template(PointInt) Point<int>; | |
| %template(RectangleInt) RectangleTest<int>; | |