swig/Lib/typemaps
Olly Betts 4ac3c87a29 Sort out predefined SWIG-specific macros
Ensure that SWIG_VERSION is defined both at SWIG-time and in the
generated C/C++ wrapper code (it was only defined in the wrapper
for some target languages previously).

SWIGGO and SWIGJAVASCRIPT are now defined in the generated wrappers
to match behaviour for all other target languages.

Stop defining SWIGVERSION in the wrapper.  This only happened as a
side-effect of how SWIG_VERSION was defined but was never documented and
is redundant.

The new testcase also checks that SWIG is defined at SWIG-time but not
in the generated wrapper, and that exactly one of a list of
target-language specific macros is defined.

Fixes #1050
2022-10-05 12:40:15 +13:00
..
attribute.swg Move %attribute documentation into the manual 2022-01-26 09:18:55 -06:00
carrays.swg Fix constructors in named typedef class declarations 2011-08-25 19:27:38 +00:00
cdata.swg SWIG license change - The Examples and Lib move to a very permissive license in the LICENSE file, removing the BSD license restrictions as agreed by committers since it was inadvertently introduced. Remove some examples where the impact of the license change is not clear. 2010-02-27 23:26:02 +00:00
cmalloc.swg SWIG license change - The Examples and Lib move to a very permissive license in the LICENSE file, removing the BSD license restrictions as agreed by committers since it was inadvertently introduced. Remove some examples where the impact of the license change is not clear. 2010-02-27 23:26:02 +00:00
cpointer.swg Fix function prototypes of generated pointer functions 2022-02-03 17:25:44 +13:00
cstring.swg Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
cstrings.swg Cosmetic stray semi-colon removal after %typemap using quotes 2022-08-31 19:40:13 +01:00
cwstring.swg Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
enumint.swg Add rvalue reference typemaps 2013-01-24 20:27:29 +00:00
exception.swg Add Python support for std::unique_ptr inputs 2022-07-17 15:20:20 +01:00
factory.swg add note for namespace issues 2006-03-07 09:15:31 +00:00
fragments.swg Remove redundant conditional 2022-03-07 09:11:50 +13:00
implicit.swg UTL STL container descriptor checks 2016-07-28 22:51:29 +01:00
inoutlist.swg Fix a few more typos in comments 2006-09-28 06:39:07 +00:00
misctypes.swg last performance improvements, and typemaps fixes 2005-11-24 09:20:24 +00:00
primtypes.swg Add support for ptrdiff_t and size_t == long long 2016-01-06 16:52:37 -05:00
ptrtypes.swg Cosmetic stray semi-colon removal after %typemap using quotes 2022-08-31 19:40:13 +01:00
README Sort out predefined SWIG-specific macros 2022-10-05 12:40:15 +13:00
std_except.swg Fix missed files 2016-09-17 19:01:42 +02:00
std_string.swg Add <string> fragment 2014-02-15 23:30:14 +00:00
std_strings.swg Remove pointless special casing of zero-length strings, remnant of a series 2011-02-18 08:44:44 +00:00
std_wstring.swg Add <string> fragment 2014-02-15 23:30:14 +00:00
string.swg Correct warning message for wchar_t * typemaps 2022-05-06 18:44:02 +01:00
strings.swg Cosmetic stray semi-colon removal after %typemap using quotes 2022-08-31 19:40:13 +01:00
swigmacros.swg Sort out predefined SWIG-specific macros 2022-10-05 12:40:15 +13:00
swigmove.swg Provide SWIGTYPE MOVE typemaps in swigmove.i 2022-09-16 08:36:25 +01:00
swigobject.swg Cosmetic stray semi-colon removal after %typemap using quotes 2022-08-31 19:40:13 +01:00
swigtype.swg Remove broken %implicitconv for const SWIGTYPE && 2022-09-05 09:20:59 +01:00
swigtypemaps.swg Add Python support for std::unique_ptr inputs 2022-07-17 15:20:20 +01:00
swigversion.swg Sort out predefined SWIG-specific macros 2022-10-05 12:40:15 +13:00
typemaps.swg SWIG license change - The Examples and Lib move to a very permissive license in the LICENSE file, removing the BSD license restrictions as agreed by committers since it was inadvertently introduced. Remove some examples where the impact of the license change is not clear. 2010-02-27 23:26:02 +00:00
valtypes.swg Cosmetic stray semi-colon removal after %typemap using quotes 2022-08-31 19:40:13 +01:00
void.swg Cosmetic stray semi-colon removal after %typemap using quotes 2022-08-31 19:40:13 +01:00
wstring.swg Correct warning message for wchar_t * typemaps 2022-05-06 18:44:02 +01:00

Still in development, but if you are interested into looking around,
start with


     swigtypemaps.swg

which is the head file. Also read the docs for %fragments in 

     fragments.swg 

and follow the definitions in one of the supported languages:

     python, perl, ruby, tcl




/* -----------------------------------------------------------------------------
 *  Internal typemap specializations
 * ----------------------------------------------------------------------------- */


carrays.swg		Implement the carrays.i library
cdata.swg		Implement the cdata.i library
cmalloc.swg		Implement the cmalloc.i library
cpointer.swg		Implement the cpointer.i library
cstring.swg		Implement the cstring.i library typemaps for char *
cwstring.swg		Implement the cstring.i library typemaps for wchar_t *
exception.swg		Implement the exception.i library
implicit.swg		Allow the use of implicit C++ constructors

string.swg		Typemaps for char * string
wstring.swg		Typemaps for wchar_t * string
std_string.swg		Typemaps for std::string
std_wstring.swg		Typemaps for std::wstring
swigtype.swg		Typemaps for the SWIGTYPE type
void.swg		Typemaps for the 'void' type
enumint.swg		Typemaps for enums treated as 'int' 
swigobject.swg		Typemaps for the SWIG_Object as in PyObject, Tcl_Obj, etc.
misctypes.swg		Typemaps for miscellaneos types (size_t, ptrdiff_t, etc)
ptrtypes.swg		Typemaps for types with a 'ptr' behavior
valtypes.swg		Typemaps for 'by value' types
inoutlist.swg		IN/OUTPUT/INOUT typemaps, where the OUTPUT values are returned in a list
primtypes.swg		Common macros to manage primitive types (short,int,double,etc)

cstrings.swg		Common macros to implemented the cstring/cwstring libraries
std_strings.swg		Common macros to implemented the std::string/std::wstring typemaps
strings.swg		Common macros and typemaps for string and wstring (char *, wchar_t *)

swigmacros.swg		Basic macros 
swigversion.swg		Define SWIG_VERSION
fragments.swg		Macros for fragment manipulations


typemaps.swg		The old typemaps.i library, not needed anymore