diff options
Diffstat (limited to 'Examples/test-suite/template_classes.i')
| -rw-r--r-- | Examples/test-suite/template_classes.i | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Examples/test-suite/template_classes.i b/Examples/test-suite/template_classes.i new file mode 100644 index 0000000..a05eb9b --- /dev/null +++ b/Examples/test-suite/template_classes.i @@ -0,0 +1,52 @@ +/* File : template_classes.i */ +/* Tests the use of one templated class within another */ + +%module template_classes + + +#pragma SWIG nowarn=SWIGWARN_PARSE_NESTED_CLASS + +%{ +%} + +%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>; + + |
