Commit graph

61 commits

Author SHA1 Message Date
Marcelo Matus
3de733ebc4 add more backward comp macros/fragments/methods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8590 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-28 08:48:48 +00:00
Marcelo Matus
11b237dddd put the swig::PyObject_var and swig::PyObject_ptr in the pyclass.swg file, to use them in more places
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7824 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-08 15:58:08 +00:00
Marcelo Matus
e7eeff806a eliminate compilation warnings, add docs, and centralize the access to the unified typemap library
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7710 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-25 09:31:15 +00:00
Marcelo Matus
2811e2a09a include the user's fragment file in the same place
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7693 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:58:19 +00:00
Marcelo Matus
ba3efb0917 finishing the first stage of the typemap unification scheme, fixing issues with gcc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7692 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-20 09:47:56 +00:00
Marcelo Matus
7e5e4fd1f9 massive typemap unification
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-18 13:24:15 +00:00
Marcelo Matus
124253d698 added the highly expected Robin's docstring [atch, plus some fixes and extensions. see autodoc.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6291 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-03 05:01:17 +00:00
Marcelo Matus
a4a7a2ff1f better error messages, more comments, clean up for the next major modifications
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6284 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-02 01:43:17 +00:00
Marcelo Matus
3d5d0f535a cleaning + comments, and add the nondynamic feature handlers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6266 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-09-26 01:00:28 +00:00
Marcelo Matus
349e6bc6ee using <> when including lib files, fix char{ANY], add char FIXSIZE[ANY], fix pyfragments.swg, fixing *.swg and *.i names
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6250 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-09-17 06:17:35 +00:00
Marcelo Matus
9f6ffb2feb cosmetic changes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6237 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-09-07 09:35:23 +00:00
Marcelo Matus
c16ee0373b move tuple helper to its own file, and allow the user to redefine fragments through the fragments.i file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6234 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-09-07 09:26:23 +00:00
Marcelo Matus
9c6a029e75 fix anon enums
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5935 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-28 02:10:02 +00:00
Marcelo Matus
12af360d6f fixes for char[], const char[], and cleaning wchar_t
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5930 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-27 11:25:31 +00:00
Marcelo Matus
f473b1f152 added wchar_t type
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5835 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-06 06:31:24 +00:00
Marcelo Matus
7afe6bc139 normalizing the inout typemaps and other cosmetic fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5782 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-21 23:26:18 +00:00
Marcelo Matus
2568b57d46 extending std_string and more fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5771 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 21:20:55 +00:00
Marcelo Matus
1d5529bcfc better STL support, see CHANGES.current
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5755 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:41:19 +00:00
Marcelo Matus
68024b15ce Reducing pyrun.swg and splitting python.swg into different files
for clarity and for easier maintainance.

pyrun.swg almost the same than 1.3.20, therefore there will be
compatible again.

code generated is reduced by the use and reuse of %fragments.

as usual, all the test-suite is compiling and a much bigger
"test project" too.

with the new typemaps definition should be much eaiser and
uniform add stl/std and user types.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5706 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 09:50:24 +00:00
Marcelo Matus
3f1f31d1e8 Fix long long and other warnings.
Add the macros

%typemap_asfromcheck()
%typemap_asfrom()

that can be used to defined all the different typemaps
for types where the As/From/Check methods are provided.

All the basic type (int, char,...) typemaps are implemented
using them.

The std::string and std::complex<T> are reimplemented using
the new %typemap_asfrom/check macros too. This helps to complete
all the previously missing typemaps (consttab, varin, varout,..)
and also ilustrates how to define the As/From/Check methods
to use with the %typemap_asfrom/check macros.

As a byproduct, the C complex typemap was added, and the file

complex.i

can be used to load the complex support for either C or C++. The
original C++ std_complex.i is still there, and the corresponding C
ccomplex.i too, if they need to be included explicitly.

Also, the As/From methods are declared via %fragment, so, they
can be reused as needed, and only appear in the wrapped code if
they corresponding typemap is invoked, making the typemaps
and the entire code shorter and simpler.


Marcelo.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5691 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-28 01:30:13 +00:00
Marcelo Matus
c429cdb9fc add support for char* to accepts char* :), before
they only accept PyStrings.

now the raw pointer from calloc.i, for example, works
fine.

some of the SWIG_PyObj_(As|From)XXX routines are getting
too large, so, they also will go into the runtime library.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-26 11:55:22 +00:00
Marcelo Matus
839f109a81 Better mapping of char[ANY] in python, including embedded
null chars, which are allowed in C++ and python, and proper
sizes:

  you can use a shorter string to assign a char[6]:

     x = "he\0l"  -> x := {'h','e',0,'l',0, 0}

  but you always get back in python the original size:

   x := {'h','i','0','0',0, 0} -> "hi\0\0\0\0"

Better mapping of (char*)0, now you get a None in the python
side, and using None, you get a (char*)0, just like
all the other C++ pointers. Before (char*)0 was mapped
into python as "", or as seg. faults.

Better mapping of "", which is not None nor (char*)0.

Added more tests using primitive types with simple templates.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5687 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-25 09:45:18 +00:00
Marcelo Matus
59e7aca99a properly manage the strange but valid case:
typedef char namet[5];
  const namet def_namet = {'h','o', 0, 'l','a'};

ie, char arrays with null embedded characters, and other odd
char[ANY] situations.

add the corresponding test to the primitive_types.i and runme files.

Marcelo

 ----------------------------------------------------------------------


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5685 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 07:20:59 +00:00
Marcelo Matus
4b828ef358 fix missed ANY temporal
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5684 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 02:43:54 +00:00
Marcelo Matus
7c6097b392 more on uniforming and 'securing' the typemap declarations
for primitive types.

Finally, you can safetly write:

%apply int {enum Hello};
%apply long {size_t};
%apply int {MyIntClass};

or using references

%apply const int& {const enum Hello&};
%apply const long& {const size_t&};
%apply const int& {MyIntClass&};

and all the primitive typemaps(in, out, directorin, directorout,
constcode, throws, varin, varout) are safetly applied to the
desired types (including the proper conversions when needed).

In fact, the python.swg file now has no typemap
defined for enums, and only use the %apply directives
as above.

Now the primitive_types.i extensive test runs properly.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5683 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 00:43:47 +00:00
Marcelo Matus
5c62c8cda2 fix typos
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-23 00:25:42 +00:00
Marcelo Matus
54737ee9a9 - recover the proper catching exception mechanism for classes
(throw typemap).

- fix the examples with exception problems and warnings

- proper and consist treatment of basic types (short, unsigned char,...)

  now all are checked for range and sign. Before, this was depending of
  the use of parsing or no parsing, and/or the converter method, and/or
  the use of directors, etc.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5659 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 01:15:10 +00:00
Marcelo Matus
bcdcb96b47 Adding missing built-in functions and names to pythonkw.swg and
fixing operator! warning code in python.swg


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5573 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-16 06:00:09 +00:00
Marcelo Matus
7b8f415319 - Uniform the definition of the keyword warnings through
the supported languages.

- Added keyword list for most of the languages that didn't
  have one.

- "All keywords" warning support, through the -DSWIG_ALLKW
  option.

Read the Changes.current


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5543 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 02:23:52 +00:00
Marcelo Matus
0f19564193 Fixes to support protected members with director, proper virtual member recognition and support of the nodirector feature
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5485 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 01:59:28 +00:00
Dave Beazley
1bb91ece90 Added Perl support for member pointers. Some reorganization of other runtime code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5436 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 20:56:17 +00:00
Matthias Köppe
de27e32afb Use the preprocessor to rename external functions of the SWIG runtime
API to follow the naming convention SWIG_<language>_<function>.  This
should allow linking more than one interpreter into a program.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5242 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-02 13:48:17 +00:00
William S Fulton
f4fac221fa - Compliance with ISO/IEC 14882:1998(E) 17.4.3.1.2 -> eg double underscores removed
- Potential member variable and method name clashes remove by preceding with 'swig'
- consistent use of C++ booleans for the swig_disown flag across and within the modules that use this it in director code.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5139 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-22 22:55:17 +00:00
William S Fulton
9da574aae9 __DIRECTOR__ renamed Swig::Director
SWIG_DIRECTOR_EXCEPTION renamed Swig::DirectorException (similarly for derived classes)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5138 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-22 20:13:42 +00:00
William S Fulton
7ee01311b2 typemap name changes:
inv => directorin
outv => directorout
argoutv => directorargout


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5137 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-20 23:52:28 +00:00
William S Fulton
a7933a75b0 First round of director mods
- Removed asserts
- The unused __DIRECTOR__ base class default constructor removed. I've used the conventional approach of having no default constructor rather than a private one (declaring it private doesn't serve any useful purpose when this constructor is not wanted).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5132 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-20 15:11:38 +00:00
Mark Rose
ec6251e86d Abstract directors and typemap fixes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5024 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-30 05:03:34 +00:00
Mark Rose
ce452b8b8d Director typemap cleanup and return by value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4989 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-11 02:38:45 +00:00
William S Fulton
a951a86659 Removed varin typemaps for SWIGTYPE[] (dimensionless arrays).
These were useless as they just produced a setter that gave a runtime error.
Exposes some missing varin SWIGTYPE[ANY] typemaps - they show up in the test-suite.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4843 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-01 22:59:10 +00:00
Dave Beazley
e7793fb51c Added setter for global arrays.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4831 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-05-29 18:27:57 +00:00
Dave Beazley
f6e4ffd8c4 Added DISOWN typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4507 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-11 12:38:06 +00:00
William S Fulton
af3ec605e9 long long typemap mods for use with %apply
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4443 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-06 23:28:01 +00:00
Mark Rose
c47494cb7a polymorphism patch merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4435 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-06 19:21:58 +00:00
William S Fulton
562ba55a1a bool typemaps rewrite to keep Visual C++ happy
Fixes to SWIGTYPE& varin and varout typemaps


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4261 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-07 22:09:30 +00:00
Dave Beazley
12a43edc2d The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00
Dave Beazley
4577718468 Fixed default argument handling bug reported by Michael Scharf.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@929 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2000-10-21 01:41:13 +00:00
Dave Beazley
8413325366 Fixed ambiguous else.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@890 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2000-09-25 12:26:07 +00:00
Dave Beazley
16ff68c288 Changed _swig_type_info to swig_type_info
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@799 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2000-09-02 16:25:50 +00:00
Dave Beazley
1096e69b96 Moved location of extern "C" (patch for Python 1.6 compilation).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@790 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2000-09-01 20:38:34 +00:00
Dave Beazley
c9a1a80211 Bug fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@663 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2000-08-16 18:12:50 +00:00