swig/Examples/test-suite/template_enum_ns_inherit.i
Dave Beazley 12a43edc2d The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00

48 lines
No EOL
925 B
OpenEdge ABL

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