Add missing template_using_directive_typedef.i test file
This commit is contained in:
parent
1132bc334b
commit
9f454234b1
1 changed files with 44 additions and 0 deletions
44
Examples/test-suite/template_using_directive_typedef.i
Normal file
44
Examples/test-suite/template_using_directive_typedef.i
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
%module template_using_directive_typedef
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
namespace space {
|
||||||
|
template<typename T> class Vector {};
|
||||||
|
class VectorClass {};
|
||||||
|
}
|
||||||
|
struct Obj {};
|
||||||
|
%}
|
||||||
|
|
||||||
|
%template(Vector_Obj) space::Vector<Obj>;
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
namespace tns {
|
||||||
|
using space::Vector; // template using directives were not being added into the typedef table
|
||||||
|
using space::VectorClass;
|
||||||
|
typedef Vector<Obj> NSVec;
|
||||||
|
}
|
||||||
|
%}
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
namespace tns {
|
||||||
|
struct Holder {
|
||||||
|
// using Vec = Vector<Obj>;
|
||||||
|
typedef Vector<Obj> Vec;
|
||||||
|
typedef VectorClass VecClass;
|
||||||
|
Vec items;
|
||||||
|
void holder_use1(space::Vector<Obj>, tns::NSVec, tns::Vector<Obj>) {}
|
||||||
|
void holder_use2(space::Vector<Obj>, NSVec, Vector<Obj>) {}
|
||||||
|
void holder_use3(tns::Holder::Vec, Holder::Vec, Vec) {}
|
||||||
|
};
|
||||||
|
void tns_holder_use(tns::Holder::Vec, Holder::Vec) {}
|
||||||
|
void tns_use(space::Vector<Obj>, NSVec, tns::NSVec) {}
|
||||||
|
}
|
||||||
|
void global_holder_use(tns::Holder::Vec) {}
|
||||||
|
void global_use(space::Vector<Obj>, tns::NSVec, tns::Vector<Obj>) {}
|
||||||
|
namespace ns1 {
|
||||||
|
void ns1_holder_use(tns::Holder::Vec) {}
|
||||||
|
}
|
||||||
|
namespace ns2 {
|
||||||
|
using namespace tns;
|
||||||
|
void ns2_holder_use(tns::Holder::Vec, Holder::Vec, NSVec, Vector<Obj>) {}
|
||||||
|
}
|
||||||
|
%}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue