diff options
Diffstat (limited to 'Examples/test-suite/template_enum_ns_inherit.i')
| -rw-r--r-- | Examples/test-suite/template_enum_ns_inherit.i | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Examples/test-suite/template_enum_ns_inherit.i b/Examples/test-suite/template_enum_ns_inherit.i new file mode 100644 index 0000000..c617b57 --- /dev/null +++ b/Examples/test-suite/template_enum_ns_inherit.i @@ -0,0 +1,48 @@ +%module template_enum_ns_inherit +%inline %{ + + namespace oss + { + enum Polarization { UnaryPolarization, BinaryPolarization }; + + template <Polarization P> + struct Interface_ + { + }; + + template <Polarization P, class C> + struct Module + { + }; + + } + +%} + +namespace oss +{ + %template(Interface_UP) Interface_<UnaryPolarization>; + %template(Module_UPIUP) Module<UnaryPolarization,Interface_<UnaryPolarization> >; +} + +%inline %{ + namespace oss + { + namespace hello + { + struct HInterface1 : + Interface_<oss::UnaryPolarization> // this works (with fullns qualification) + { + }; + + struct HInterface2 : + Interface_<UnaryPolarization> // this doesn't work + { + }; + + struct HModule1 : Module<UnaryPolarization, Interface_<UnaryPolarization> > { + }; + + } + } +%} |
