mirror of https://github.com/swig/swig
39 lines
802 B
OpenEdge ABL
39 lines
802 B
OpenEdge ABL
%module template_namespace_forward_declaration
|
|
|
|
%inline %{
|
|
namespace Space1 {
|
|
namespace Space2 {
|
|
template<typename T> struct XXX;
|
|
template<typename T> struct YYY;
|
|
}
|
|
|
|
template<typename T> struct Space2::YYY {
|
|
T yyy(T h) {
|
|
return h;
|
|
}
|
|
};
|
|
template<typename T> struct Space1::Space2::XXX {
|
|
T xxx(T h) {
|
|
return h;
|
|
}
|
|
};
|
|
|
|
void testXXX1(Space1::Space2::XXX<int> xx) {
|
|
}
|
|
void testXXX2(Space2::XXX<int> xx) {
|
|
}
|
|
void testXXX3(::Space1::Space2::XXX<int> xx) {
|
|
}
|
|
void testYYY1(Space1::Space2::YYY<int> yy) {
|
|
}
|
|
void testYYY2(Space2::YYY<int> yy) {
|
|
}
|
|
void testYYY3(::Space1::Space2::YYY<int> yy) {
|
|
}
|
|
}
|
|
%}
|
|
|
|
%template(XXXInt) Space1::Space2::XXX<int>;
|
|
%template(YYYInt) Space1::Space2::YYY<int>;
|
|
|