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
(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
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
side for protected director members.
Lib/python/director.swg: added needed code for runtime checking
Source/Modules/python.cxx: added needed code for runtime checking
director_protected_runme.py: checks now that the runtime protection is working
The extra runtime checking is only done for protected members,
so, the old public directors members don't feel any overhead.
This finished the director protected support for the python language.
Java and Ocalm will need to add the "reprotection" mechanism latter.
But as in the python case, the changes will be localized in the
languages files, and there will be no need to touch the core
files anymore.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5532 626c5289-ae23-0410-ae9c-e8d60b6d4f22
API to follow the naming convention SWIG_<language>_<function>. This
should allow linking more than one interpreter into a program.
Unify the pointer-conversion runtime API.
[Python]: Add the function SWIG_MustGetPtr.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5246 626c5289-ae23-0410-ae9c-e8d60b6d4f22
- 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
- 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
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