diff options
Diffstat (limited to 'Examples/test-suite/namespace_nested.i')
| -rw-r--r-- | Examples/test-suite/namespace_nested.i | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/Examples/test-suite/namespace_nested.i b/Examples/test-suite/namespace_nested.i new file mode 100644 index 0000000..63d871f --- /dev/null +++ b/Examples/test-suite/namespace_nested.i @@ -0,0 +1,101 @@ +%module namespace_nested + +%warnfilter(SWIGWARN_RUBY_WRONG_NAME) hello::hi::hi0; /* Ruby, wrong class name */ +%warnfilter(SWIGWARN_RUBY_WRONG_NAME) oss::hi1<hello::Hi0 >; /* Ruby, wrong class name */ + +%inline %{ + namespace hello + { + namespace hi + { + struct hi0 + { + }; + } + + template < class T1 > + struct Hi : T1 + { + }; + } + +%} + +namespace hello +{ + %template(Hi_hi0) Hi<hi::hi0>; +} + + + +%inline %{ + + namespace hello + { + // + // This works + // + // typedef Hi<hello::hi::hi0> Hi0; + + // + // This doesn't work + // + typedef Hi<hi::hi0> Hi0; + } + + + namespace oss + { + template <class T1> + struct hi1 : T1 + { + }; + + typedef hello::Hi<hello::hi::hi0> h0; + } + +%} + +namespace oss +{ + %template(hi1_hi0) hi1<hello::Hi0 >; +} + + +%rename(MyFoo) geos::algorithm::Foo; + +%inline +{ + namespace geos { + namespace algorithm { + class Foo + { + }; + } + + namespace planargraph { // geos.planargraph + namespace algorithm { // geos.planargraph.algorithm + class Bar { + }; + } + namespace algorithm { // geos.planargraph.algorithm + + class Foo { + public: + typedef int size_type; + }; + } + namespace algorithm { // geos.planargraph.algorithm + + class ConnectedSubgraphFinder : public Foo { + public: + ConnectedSubgraphFinder(size_type) + { + } + + }; + } + } + } +} + |
