Updated for SWIG-1.3.10

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@2099 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2001-12-15 16:16:30 +00:00
commit 35752e8a2f
4 changed files with 1333 additions and 51 deletions

View file

@ -2,13 +2,13 @@ New Features and Important Changes, v1.3
Author(s) : David Beazley
September 3, 2000
December 9, 2001
1. Introduction
---------------
This document explains some of the most important changes made since
the release of SWIG1.1. The goal is to provide information for people
who want to upgrade an older SWIG interface to the new version.
This document briefly explains some of the most important changes made
since the release of SWIG1.1. The goal is to provide information for
people who want to upgrade an older SWIG interface to the new version.
Most changes pertain to the internal implementation of SWIG and the
organization of the core, parser, and language modules. As a SWIG
@ -50,9 +50,9 @@ altered SWIG's old behavior.
In SWIG1.1, this typemap would get applied to 'foo *',
'foo &', 'const foo *', 'foo []', 'foo[][]', and so forth.
In SWIG1.3, this typemap *only* gets applied to 'foo *'.
It does *NOT* get mapped to the other variants listed
above.
In SWIG1.3, this typemap *only* gets applied to 'foo *' and
'const foo *'. It does *NOT* get mapped to the other
variants listed above.
2.4 Bug fix. SWIG now correctly handles typemaps of the form
@ -68,6 +68,37 @@ altered SWIG's old behavior.
wrapper code. This provides access to scripting-specific
variables in the wrapper function.
2.7 SWIG-1.3.10 features a total rewrite of the typemap system.
Typemaps now use a different variable naming scheme. Typemaps
for arguments look like this:
%typemap(in) sometype {
$1 = convert value ($input);
}
The variable $1 replaces $target and the variable $input replaces
$source.
For output values, typemaps look like this:
%typemap(out) sometype {
$result = create result ($1);
}
The variable $1 replaces $source and the variable $result replaces
$target.
See Doc/Manual/Typemaps.html for a full description of the new
typemap system.
2.8 Multi-argument typemaps are now supported. This solves a common
problem that occurs with functions like this
void foo(char *buffer, int len);
where you would like to make the two arguments operate as a single
object in the target language.
3. Type checking
----------------
@ -165,6 +196,8 @@ and it is simpler to implement than the old string based approach.
4.5 %checkout directive removed.
4.6 %except and %new are deprecated.
5. Language specific changes
----------------------------
@ -184,6 +217,10 @@ and it is simpler to implement than the old string based approach.
system has been added (requires Guile 1.4). Procedures-with-setters
can be generated.
5.6 The Python module now automatically creates shadow class objects from the
C wrappers. This fixes a bunch of hard problems related to typemaps,
exception handling, and more.
6. New Features
---------------
@ -195,6 +232,17 @@ and it is simpler to implement than the old string based approach.
6.4 Integrated preprocessor. You can now use C macros in SWIG interface files.
6.5 PHP module added.
6.6 %rename directive is greatly enhanced to deal with overloaded functions.
6.7 Support for simple templates
6.8 Support for overloaded operators.
6.9 %feature directive.