CHANGES.current
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7650 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
4412ce1a76
commit
a09e07e9c5
1 changed files with 67 additions and 0 deletions
|
|
@ -1,3 +1,70 @@
|
|||
Version 1.3.27 (In progress)
|
||||
============================
|
||||
|
||||
|
||||
10/13/2005: mmatus
|
||||
Several minor changes:
|
||||
|
||||
- Improve the wchar_t type support
|
||||
- Add a warning for when you define the 'in' typemap but
|
||||
you don't define the 'typecheck' one. Very common mistake.
|
||||
- Add proper default rule for function pointers, now you
|
||||
can define a typemap such as:
|
||||
|
||||
%typemap(in) SWIGTYPE ((*)(ANY)) {...}
|
||||
|
||||
That will apply to all the pointer to functions. The
|
||||
rule in C++ also apply to the function 'reference', ie,
|
||||
in both cases
|
||||
|
||||
typedef int (*fptr)(int a);
|
||||
typedef int (func)(int a);
|
||||
|
||||
This was needed since it seems to be 'illegal' in C++ to
|
||||
do something like:
|
||||
|
||||
void *ptr = static_cast<void *>(fptr);
|
||||
|
||||
and probably, as for member functions, it is not
|
||||
warrantied that the pointer sizes will match.
|
||||
|
||||
- Add the #error/#warning directives to swig's cpp.
|
||||
|
||||
- Add the noblock option for typemaps, which is used as
|
||||
follows: supposed you a typemap, like this
|
||||
|
||||
|
||||
%typemap(in,noblock=1) Hello {
|
||||
....
|
||||
}
|
||||
|
||||
then the typemap will be inserted without the block
|
||||
imposed by the brackets, similar to
|
||||
|
||||
%typemap(in) Hello "...";
|
||||
|
||||
So, why you don't just use the quote style?, because:
|
||||
|
||||
1.- The quote style doesn't get preprocessed, for example
|
||||
|
||||
%typemap(in) Hello "$1= SWIG_macro($1);";
|
||||
|
||||
here, SWIG_macro doesn't get expanded
|
||||
|
||||
2.- Inside a quote typemap, you have to use
|
||||
quotes carefully
|
||||
|
||||
%typemap(in) Hello "$1 = \"hello\" ";
|
||||
|
||||
3.- You can't make emacs and/or other editors
|
||||
to indent inside a string!.
|
||||
|
||||
|
||||
So, why do you want to remove the block?, because an extra
|
||||
block when not needed (no local variables in it):
|
||||
|
||||
1.- makes the code harder to read
|
||||
2.- makes the code larger
|
||||
3.- or in short, for the same reason we have the quote style.
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue