| %module xxx | |
| namespace test { | |
| template<typename T> T max(T a, T b) { return (a > b) ? a : b; } | |
| template<typename T> class vector { | |
| public: | |
| vector() { } | |
| ~vector() { } | |
| }; | |
| } | |
| namespace test1 { | |
| %template(maxchar) ::test::max<char>; | |
| %template(vectorchar) ::test::vector<char>; | |
| } | |
| namespace test2 { | |
| using namespace test; | |
| %template(maxshort) max<short>; | |
| %template(vectorshort) vector<short>; | |
| } | |
| namespace test3 { | |
| using test::max; | |
| using test::vector; | |
| %template(maxlong) max<long>; | |
| %template(vectorlong) vector<long>; | |
| } | |
| namespace test4 { | |
| using namespace test; | |
| typedef int Integer; | |
| } | |
| namespace test4 { | |
| %template(maxInteger) max<Integer>; | |
| %template(vectorInteger) vector<Integer>; | |
| } | |
| namespace test5 { | |
| // Empty namespace | |
| } | |
| template<typename T> struct GlobalVector { | |
| void gook(T i) {} | |
| void geeko(double d) {} | |
| void geeky(int d) {} | |
| }; | |
| %template(GlobalVectorIntPtr) test5::GlobalVector<int *>; // should fail as GlobalVector is in global namespace | |
| using namespace test; | |
| namespace test6 { | |
| %template(maxdouble) max<double>; | |
| %template(vectordouble) vector<double>; | |
| } |