CHANGES.current

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6820 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-12-01 11:37:15 +00:00
commit 6843fc6ccd
3 changed files with 72 additions and 1 deletions

View file

@ -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

View file

@ -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

View file

@ -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