fixed %template within %extend, test added

fixed language symbol table nested classes name separator, test added
fixed %feature "flatnested" working with %extend
fixed Swig_offset_string for empty string
added simple template to save/restore values in current scope (readability reasons)
This commit is contained in:
Vladimir Kalinin 2013-12-19 02:11:22 +04:00
commit b4fef06c42
12 changed files with 55 additions and 39 deletions

View file

@ -30,6 +30,7 @@ namespace ns {
%}
%template(T_NormalTemplateNormalClass) ns::NormalTemplate<ns::NormalClass>;
%template(T_NormalTemplateInt) ns::NormalTemplate<int>;
%template(T_NormalTemplateDouble) ns::NormalTemplate<double>;
%inline %{
namespace ns {
@ -70,6 +71,9 @@ namespace ns {
};
Inner2<int> useInner2(const Inner2<int>& inner) { return inner; }
Inner2<NormalClass> useInner2Again(const Inner2<NormalClass>& inner) { return inner; }
#ifdef SWIG
%template(T_OuterClassInner1Double) Inner1<double>;
#endif
int iii;
};
struct ABC {
@ -105,8 +109,10 @@ namespace ns {
NestedStruct useNestedStruct(const NestedStruct& inner) { return inner; }
};
}
%}
%extend ns::OuterClass {
%template(T_OuterClassInner2Double) Inner2<double>;
}
%template(T_OuterTMethodNormalClass) ns::OuterClass::InnerTMethod<ns::NormalClass>;
%template(T_TemplateFuncs1Int) ns::TemplateFuncs::templateMethod1<int>;