From 569470c4b9a5523327cd53e10785c53ba66bea29 Mon Sep 17 00:00:00 2001
From: Olly Betts
@@ -155,10 +155,10 @@ described followed by a discussion of low-level implementation
details.
@@ -256,7 +256,7 @@ The following sections have further practical examples and details on
how you might go about compiling and using the generated files.
@@ -348,7 +348,7 @@ This same approach works on all platforms if the appropriate compiler is install
can even build extensions to the standard Windows Python using MingGW)
@@ -396,7 +396,7 @@ module actually consists of two files; socket.py and
@@ -475,7 +475,7 @@ If using static linking, you might want to rely on a different approach
(perhaps using distutils).
@@ -632,7 +632,7 @@ system configuration (this requires root access and you will need to
read the man pages).
@@ -724,7 +724,7 @@ erratic program behavior. If working with lots of software components, you
might want to investigate using a more formal standard such as COM.
@@ -761,7 +761,7 @@ and -m64 allow you to choose the desired binary format for your python
extension.
@@ -870,7 +870,7 @@ SWIG Wiki.
@@ -879,7 +879,7 @@ to your C/C++ code. Functions are wrapped as functions, classes are wrapped as
This section briefly covers the essential aspects of this wrapping.
@@ -892,7 +892,7 @@ module name, make sure you don't use the same name as a built-in
Python command or standard module name.
@@ -916,7 +916,7 @@ like you think it does:
>>>
@@ -1054,7 +1054,7 @@ that starts with a leading underscore. SWIG does not create cvar
if there are no global variables in a module.
@@ -1094,7 +1094,7 @@ other object. Unfortunately, there is no easy way for SWIG to
generate code that prevents this. You will just have to be careful.
@@ -1235,7 +1235,7 @@ C-style cast may return a bogus result whereas as the C++-style cast will return
None if the conversion can't be performed.
@@ -1424,7 +1424,7 @@ everything works just like you would expect. For example:
-
@@ -1513,7 +1513,7 @@ they are accessed through cvar like this:
-
@@ -1568,7 +1568,7 @@ then the function spam() accepts Foo * or a pointer to any cla
It is safe to use multiple inheritance with SWIG.
@@ -1629,7 +1629,7 @@ treated as a returning value, and it will follow the same
allocation/deallocation process.
@@ -1752,7 +1752,7 @@ first declaration takes precedence.
Please refer to the "SWIG and C++" chapter for more information about overloading.
@@ -1841,7 +1841,7 @@ Also, be aware that certain operators don't map cleanly to Python. For instance
overloaded assignment operators don't map to Python semantics and will be ignored.
@@ -1908,7 +1908,7 @@ utilizes thousands of small deeply nested namespaces each with
identical symbol names, well, then you get what you deserve.
@@ -1962,7 +1962,7 @@ Some more complicated
examples will appear later.
@@ -2047,7 +2047,7 @@ simply use the __deref__() method. For example:
-
@@ -2190,7 +2190,7 @@ python releases the proxy instance.
@@ -2203,7 +2203,7 @@ of low-level details were omitted. This section provides a brief overview
of how the proxy classes work.
@@ -2292,7 +2292,7 @@ you can attach new Python methods to the class and you can even inherit from it
by Python built-in types until Python 2.2).
@@ -2484,7 +2484,7 @@ It is also possible to deal with situations like this using
typemaps--an advanced topic discussed later.
@@ -2521,7 +2521,7 @@ class itself. In Python-2.1 and earlier, they have to be accessed as a global
function or through an instance (see the earlier section).
@@ -2555,7 +2555,7 @@ proxy classes, director classes, and C wrapper functions takes care of
all the cross-language method routing transparently.
@@ -2648,7 +2648,7 @@ class MyFoo(mymodule.Foo):
-32 SWIG and Python
+33 SWIG and Python
@@ -128,7 +128,7 @@ very least, make sure you read the "SWIG
Basics" chapter.
-
32.1 Overview
+33.1 Overview
32.2 Preliminaries
+33.2 Preliminaries
-32.2.1 Running SWIG
+33.2.1 Running SWIG
32.2.2 Using distutils
+33.2.2 Using distutils
32.2.3 Hand compiling a dynamic module
+33.2.3 Hand compiling a dynamic module
32.2.4 Static linking
+33.2.4 Static linking
32.2.5 Using your module
+33.2.5 Using your module
32.2.6 Compilation of C++ extensions
+33.2.6 Compilation of C++ extensions
32.2.7 Compiling for 64-bit platforms
+33.2.7 Compiling for 64-bit platforms
32.2.8 Building Python Extensions under Windows
+33.2.8 Building Python Extensions under Windows
32.3 A tour of basic C/C++ wrapping
+33.3 A tour of basic C/C++ wrapping
32.3.1 Modules
+33.3.1 Modules
32.3.2 Functions
+33.3.2 Functions
32.3.3 Global variables
+33.3.3 Global variables
32.3.4 Constants and enums
+33.3.4 Constants and enums
32.3.5 Pointers
+33.3.5 Pointers
32.3.6 Structures
+33.3.6 Structures
32.3.7 C++ classes
+33.3.7 C++ classes
32.3.8 C++ inheritance
+33.3.8 C++ inheritance
32.3.9 Pointers, references, values, and arrays
+33.3.9 Pointers, references, values, and arrays
32.3.10 C++ overloaded functions
+33.3.10 C++ overloaded functions
32.3.11 C++ operators
+33.3.11 C++ operators
32.3.12 C++ namespaces
+33.3.12 C++ namespaces
32.3.13 C++ templates
+33.3.13 C++ templates
32.3.14 C++ Smart Pointers
+33.3.14 C++ Smart Pointers
32.3.15 C++ Reference Counted Objects (ref/unref)
+33.3.15 C++ Reference Counted Objects (ref/unref)
32.4 Further details on the Python class interface
+33.4 Further details on the Python class interface
32.4.1 Proxy classes
+33.4.1 Proxy classes
32.4.2 Memory management
+33.4.2 Memory management
32.4.3 Python 2.2 and classic classes
+33.4.3 Python 2.2 and classic classes
32.5 Cross language polymorphism
+33.5 Cross language polymorphism
32.5.1 Enabling directors
+33.5.1 Enabling directors
32.5.2 Director classes
+33.5.2 Director classes
@@ -2730,7 +2730,7 @@ so there is no need for the extra overhead involved with routing the
calls through Python.
@@ -2797,7 +2797,7 @@ deleting all the Foo pointers it contains at some point. Note that no hard references to the Foo objects remain in Python.
-@@ -2856,7 +2856,7 @@ Swig::DirectorMethodException is thrown, Python will register the exception as soon as the C wrapper function returns.
-@@ -2890,7 +2890,7 @@ directive) for only those methods that are likely to be extended in Python.
-@@ -2904,7 +2904,7 @@ need to be supported.
-@@ -2951,7 +2951,7 @@ methods that return const references.
-@@ -2964,7 +2964,7 @@ This section describes some common SWIG features that are used to improve your the interface to an extension module.
-@@ -3045,7 +3045,7 @@ hard to implement. It is possible to clean this up using Python code, typemaps, customization features as covered in later sections.
-@@ -3194,7 +3194,7 @@ public: -
@@ -3283,7 +3283,7 @@ Vector(12,14,16) in any way---the extensions only show up in the Python interface.
-@@ -3409,7 +3409,7 @@ The language-independent exception.i library file can also be used to raise exceptions. See the SWIG Library chapter.
-@@ -3419,7 +3419,7 @@ strings, binary data, and arrays. This chapter discusses the common techniques solving these problems.
-@@ -3632,7 +3632,7 @@ void foo(Bar *OUTPUT); may not have the intended effect since typemaps.i does not define an OUTPUT rule for Bar.
-@@ -3701,7 +3701,7 @@ If you replace %pointer_functions() by %pointer_class(type,name)SWIG Library chapter for further details.
-@@ -3763,7 +3763,7 @@ well suited for applications in which you need to create buffers, package binary data, etc.
-@@ -3832,7 +3832,7 @@ If you need to return binary data, you might use the also be used to extra binary data from arbitrary pointers.
-@@ -3849,7 +3849,7 @@ Typemaps are only used if you want to change some aspect of the primitive C-Python interface or if you want to elevate your guru status.
-@@ -3965,7 +3965,7 @@ parameter is omitted): -
@@ -4006,7 +4006,7 @@ a look at the SWIG library version 1.3.20 or so.
-@@ -4077,7 +4077,7 @@ properly assigned. The Python name of the wrapper function being created. -
@@ -4205,7 +4205,7 @@ write me -
@@ -4214,7 +4214,7 @@ might look at the files "python.swg" and "typemaps.i" in the SWIG library.
-@@ -4294,7 +4294,7 @@ memory allocation is used to allocate memory for the array, the the C function.
-@@ -4373,7 +4373,7 @@ to supply the argument count. This is automatically set by the typemap code. F -
@@ -4462,7 +4462,7 @@ function can now be used as follows: >>> -
@@ -4511,7 +4511,7 @@ array, such an approach would not be recommended for huge arrays, but for small structures, this approach works fine.
-@@ -4600,7 +4600,7 @@ static int convert_darray(PyObject *input, double *ptr, int size) { -
@@ -4697,7 +4697,7 @@ class object (if applicable). -
@@ -4725,7 +4725,7 @@ of your users much simpler.
-@@ -4759,7 +4759,7 @@ layout of controls on a panel, etc. to be loaded from an XML file." -
@@ -4786,7 +4786,7 @@ names, default values if any, and return type if any. There are also three options for autodoc controlled by the value given to the feature, described below. -
@@ -4815,7 +4815,7 @@ def function_name(*args, **kwargs): -
@@ -4840,7 +4840,7 @@ def function_name(*args, **kwargs): -
@@ -4859,7 +4859,7 @@ void GetPosition(int* OUTPUT, int* OUTPUT); -
@@ -4891,7 +4891,7 @@ with more than one line. -
@@ -4918,7 +4918,7 @@ and also in base class declarations, etc. if the package name is different than its own.
-@@ -4945,7 +4945,7 @@ The following are Python 3.0 new features that are currently supported by SWIG.
-@@ -4977,7 +4977,7 @@ all overloaded functions share the same function in SWIG generated proxy class. For detailed usage of function annotation, see PEP 3107.
-@@ -5129,7 +5129,7 @@ modify the buffer. -
--
cgit v1.2.1
From 162ced78f42760515136afa1c8ed9677a5119c71 Mon Sep 17 00:00:00 2001
From: William S Fulton
The preferred approach to building an extension module for python is to compile it with
distutils, which comes with all recent versions of python
-(Distutils Docs).
+(Distutils Docs).
--
cgit v1.2.1