Enabled support for variadic %template directive.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11487 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
a7e9a105d9
commit
24402abf7d
2 changed files with 116 additions and 12 deletions
|
|
@ -22,19 +22,19 @@ class MultiArgs<int, std::vector<int>, std::map<std::string, std::vector<int>>>
|
|||
%}
|
||||
|
||||
// TODO
|
||||
//%template (MultiArgs) MultiArgs<int, std::vector<int>, std::map<std::string, std::vector<int>>>;
|
||||
%template (MultiArgs1) MultiArgs<int, std::vector<int>, std::map<std::string, std::vector<int>>>;
|
||||
|
||||
////////////////////////
|
||||
// Variadic sizeof... //
|
||||
////////////////////////
|
||||
%inline %{
|
||||
template<typename ...Args> struct SizeOf {
|
||||
template<typename... Args> struct SizeOf {
|
||||
static const int size = sizeof...(Args);
|
||||
};
|
||||
%}
|
||||
|
||||
// TODO
|
||||
//%template (SizeOf) SizeOf<int, int>;
|
||||
%template (SizeOf1) SizeOf<int, int>;
|
||||
|
||||
//////////////////////////
|
||||
// Variadic inheritance //
|
||||
|
|
@ -59,9 +59,9 @@ public:
|
|||
|
||||
template <typename... BaseClasses> class MultiInherit : public BaseClasses... {
|
||||
public:
|
||||
MultiInherit(BaseClasses&&... baseClasses) : BaseClasses(baseClasses)... {}
|
||||
MultiInherit(BaseClasses&... baseClasses) : BaseClasses(baseClasses)... {}
|
||||
};
|
||||
%}
|
||||
|
||||
// TODO
|
||||
//%template (MultiInherit) MultiInherit<A,B>;
|
||||
%template (MultiInherit1) MultiInherit<A,B>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue