diff options
Diffstat (limited to 'Examples/test-suite/typename.i')
-rw-r--r-- | Examples/test-suite/typename.i | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Examples/test-suite/typename.i b/Examples/test-suite/typename.i new file mode 100644 index 000000000..4253e0846 --- /dev/null +++ b/Examples/test-suite/typename.i @@ -0,0 +1,34 @@ +%module "typename" + +// Tests the typename handling in templates. + +%inline %{ +class Foo { +public: + typedef double Number; + Number blah() { + return 2.1828; + } +}; + +class Bar { +public: + typedef int Number; + Number blah() { + return 42; + } +}; + +template<typename T> typename T::Number twoblah(T &obj) { + return 2*(obj.blah()); +} + +Bar::Number spam() { return 3; } + +%} + +%template(twoFoo) twoblah<Foo>; +%template(twoBar) twoblah<Bar>; + + +
\ No newline at end of file |