mirror of https://github.com/swig/swig
Add missing template_using_directive_typedef.i test file
This commit is contained in:
parent
1132bc334b
commit
9f454234b1
|
@ -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…
Reference in New Issue