CHANGES.current
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6637 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
ad7d943dfc
commit
2a9bdaaf3b
1 changed files with 38 additions and 0 deletions
|
|
@ -1,6 +1,44 @@
|
||||||
Version 1.3.23 (November 6, 2004)
|
Version 1.3.23 (November 6, 2004)
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
|
10/2/2004: mmatus
|
||||||
|
|
||||||
|
- More fixes for namespace + class declarations.
|
||||||
|
As an extra bonus, we get %template support for static/members class
|
||||||
|
methods, ie, now you can say:
|
||||||
|
|
||||||
|
namespace space {
|
||||||
|
struct A
|
||||||
|
{
|
||||||
|
template <class Y>
|
||||||
|
static void fooT(Y y) { }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
struct B
|
||||||
|
{
|
||||||
|
template <class Y>
|
||||||
|
void barT(Y y) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
%template(foo) space::A::fooT<double>;
|
||||||
|
%template(foo) space::A::fooT<int>;
|
||||||
|
%template(foo) space::A::fooT<char>;
|
||||||
|
|
||||||
|
%template(foo) B::barT<double>;
|
||||||
|
%template(foo) B::barT<int>;
|
||||||
|
%template(foo) B::barT<char>;
|
||||||
|
|
||||||
|
and call
|
||||||
|
|
||||||
|
A.foo(1)
|
||||||
|
b = B()
|
||||||
|
b.bar(1)
|
||||||
|
|
||||||
|
note the the methods are emitted inside the classes,
|
||||||
|
and hence, the %template name refers to the 'member'
|
||||||
|
method name, not a global namespace name.
|
||||||
|
|
||||||
10/31/2004: mmatus
|
10/31/2004: mmatus
|
||||||
- Solve namespace + class declarations, as in
|
- Solve namespace + class declarations, as in
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue