/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
- %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> > {
- };
- }
- }
- %}