/* File : template_classes.i */ /* Tests the use of one templated class within another */ %module template_classes %inline %{ template class Point { public: T getX() {return x;} private: T x; }; template class RectangleTest { public: Point& getPoint() {return point;} void setPoint(Point& value) {point = value;} static int static_noargs() { return 0; } static int static_onearg(int i) { return i; } private: Point point; template struct pair2nd_eq { }; struct Foo : Point { }; Foo foo; }; %} %template(PointInt) Point; %template(RectangleInt) RectangleTest;