mirror of https://github.com/swig/swig
49 lines
932 B
OpenEdge ABL
49 lines
932 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> > {
|
|
};
|
|
|
|
}
|
|
}
|
|
%}
|