CHANGES.current
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6820 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
d0fad62e2c
commit
6843fc6ccd
3 changed files with 72 additions and 1 deletions
|
|
@ -1,6 +1,76 @@
|
||||||
Version 1.3.23 (working version)
|
Version 1.3.23 (working version)
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
|
12/01/2004: mmatus
|
||||||
|
- Fix typemaps to work with templates and default template
|
||||||
|
args, ie
|
||||||
|
|
||||||
|
template <class A, class B = int>
|
||||||
|
struct Foo {
|
||||||
|
};
|
||||||
|
|
||||||
|
%typemap(in) Foo<int> *{...}
|
||||||
|
%typemap(out) Foo<int,int> *{...}
|
||||||
|
|
||||||
|
Foo<int> * foo( Foo<int> *f1, Foo<int,int> *f2);
|
||||||
|
|
||||||
|
now 'f1', 'f2' and the return value resolve the provided
|
||||||
|
typemaps properly.
|
||||||
|
|
||||||
|
This is highly needed for proper STL support, see new
|
||||||
|
std_basic_string.i, std_sstream.i, etc.
|
||||||
|
|
||||||
|
- Added std_sstream.i, and fix std_basic_string.i to use
|
||||||
|
the new typemaps + template def. arg mechanism. Also,
|
||||||
|
added the needed std_alloc.i. Now, all the containers
|
||||||
|
can be modified to support std::allocator, like in:
|
||||||
|
|
||||||
|
template<class T, class A = std::allocator<T > >
|
||||||
|
class vector {
|
||||||
|
public:
|
||||||
|
....
|
||||||
|
};
|
||||||
|
|
||||||
|
This change is only completed by now for basic_string.
|
||||||
|
|
||||||
|
- Fix for smart pointers + members + extensions:
|
||||||
|
|
||||||
|
%extend Foo {
|
||||||
|
int extension(int i, int j) { return i; }
|
||||||
|
int extension() { return 1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
|
||||||
|
class Foo {
|
||||||
|
public:
|
||||||
|
int y;
|
||||||
|
static const int z;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Bar {
|
||||||
|
Foo *f;
|
||||||
|
public:
|
||||||
|
Bar(Foo *f) : f(f) { }
|
||||||
|
Foo *operator->() {
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
now you can
|
||||||
|
|
||||||
|
f = Foo()
|
||||||
|
f.y = 3
|
||||||
|
a = f.z
|
||||||
|
f->extension()
|
||||||
|
|
||||||
|
b = Bar(f)
|
||||||
|
b.y = 3
|
||||||
|
a = b.z
|
||||||
|
b->extension()
|
||||||
|
|
||||||
|
- Other small errors fixes, mostly python.
|
||||||
|
|
||||||
11/25/2004: wsfulton
|
11/25/2004: wsfulton
|
||||||
[Java] Numerous director bug fixes so that the correct java types
|
[Java] Numerous director bug fixes so that the correct java types
|
||||||
and canonicalized types in the JNI code are emitted. Use of the
|
and canonicalized types in the JNI code are emitted. Use of the
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
TOP = ../..
|
TOP = ../..
|
||||||
SWIG = $(TOP)/../swig
|
SWIG = $(TOP)/../preinst-swig
|
||||||
CXXSRCS = example.cxx
|
CXXSRCS = example.cxx
|
||||||
TARGET = example
|
TARGET = example
|
||||||
INTERFACE = example.i
|
INTERFACE = example.i
|
||||||
|
|
|
||||||
|
|
@ -408,3 +408,4 @@ wrapmacro_runme.py
|
||||||
li_std_stream.py
|
li_std_stream.py
|
||||||
swigobject.py
|
swigobject.py
|
||||||
smart_pointer_member.py
|
smart_pointer_member.py
|
||||||
|
cpp_broken.py namespace_union.py overload_complicated.py
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue