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

49 lines
883 B
OpenEdge ABL

%module rename_scope
%inline
%{
namespace oss
{
enum Polarization { UnaryPolarization, BinaryPolarization };
template <Polarization P>
struct Interface
{
};
}
%}
namespace oss
{
// Interface
%template(Interface_UP) Interface<UnaryPolarization>;
%template(Interface_BP) Interface<BinaryPolarization>;
}
%inline
%{
namespace oss
{
namespace interfaces
{
template <Polarization P>
struct Natural : Interface<P>
{
int test(void) { return 1; }
};
}
}
%}
namespace oss
{
namespace interfaces
{
%rename(rtest) Natural<UnaryPolarization>::test;
%rename(rtest) Natural<oss::BinaryPolarization>::test;
// Natural
%template(Natural_UP) Natural<UnaryPolarization>;
%template(Natural_BP) Natural<BinaryPolarization>;
}
}