/tags/rel-1-3-26/SWIG/Examples/test-suite/template_enum_ns_inherit.i
Swig | 48 lines | 38 code | 10 blank | 0 comment | 0 complexity | 8b1ef3b6cc6c6fef8bd9c06fc29b2b00 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %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> > {
- };
- }
- }
- %}