Added SetNoneComparison call to PYTHON::top

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4479 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Mark Rose 2003-03-08 10:01:30 +00:00
commit f10ce6cc84
7 changed files with 55 additions and 35 deletions

View file

@ -572,11 +572,12 @@
<li><a href="Ocaml.html#n12">Enums</a> <li><a href="Ocaml.html#n12">Enums</a>
<li><a href="Ocaml.html#n13">C++ Classes</a> <li><a href="Ocaml.html#n13">C++ Classes</a>
<ul> <ul>
<li><a href="Ocaml.html#n14">C++ Class Example</a> <li><a href="Ocaml.html#n14">STL vector and string Example</a>
<li><a href="Ocaml.html#n15">Compiling the example</a> <li><a href="Ocaml.html#n15">C++ Class Example</a>
<li><a href="Ocaml.html#n16">Sample Session</a> <li><a href="Ocaml.html#n16">Compiling the example</a>
<li><a href="Ocaml.html#n17">Sample Session</a>
</ul> </ul>
<li><a href="Ocaml.html#n17">Exceptions</a> <li><a href="Ocaml.html#n18">Exceptions</a>
</ul> </ul>
</ul> </ul>
<!-- INDEX --> <!-- INDEX -->
@ -707,38 +708,48 @@
<li><a href="Python.html#n30">Memory management</a> <li><a href="Python.html#n30">Memory management</a>
<li><a href="Python.html#n31">Python 2.2 and classic classes</a> <li><a href="Python.html#n31">Python 2.2 and classic classes</a>
</ul> </ul>
<li><a href="Python.html#n32">Common customization features</a> <li><a href="Python.html#n32">Cross language polymorphism (experimental)</a>
<ul> <ul>
<li><a href="Python.html#n33">C/C++ helper functions</a> <li><a href="Python.html#n33">Enabling directors</a>
<li><a href="Python.html#n34">Adding additional Python code</a> <li><a href="Python.html#n34">Director classes</a>
<li><a href="Python.html#n35">Class extension with %extend</a> <li><a href="Python.html#n35">Ownership and object destruction</a>
<li><a href="Python.html#n36">Exception handling with %exception</a> <li><a href="Python.html#n36">Exception unrolling</a>
<li><a href="Python.html#n37">Overhead and code bloat</a>
<li><a href="Python.html#n38">Typemaps</a>
<li><a href="Python.html#n39">Miscellaneous</a>
</ul> </ul>
<li><a href="Python.html#n37">Tips and techniques</a> <li><a href="Python.html#n40">Common customization features</a>
<ul> <ul>
<li><a href="Python.html#n38">Input and output parameters</a> <li><a href="Python.html#n41">C/C++ helper functions</a>
<li><a href="Python.html#n39">Simple pointers</a> <li><a href="Python.html#n42">Adding additional Python code</a>
<li><a href="Python.html#n40">Unbounded C Arrays</a> <li><a href="Python.html#n43">Class extension with %extend</a>
<li><a href="Python.html#n41">String handling</a> <li><a href="Python.html#n44">Exception handling with %exception</a>
<li><a href="Python.html#n42">Arrays</a>
<li><a href="Python.html#n43">String arrays</a>
<li><a href="Python.html#n44">STL wrappers</a>
</ul> </ul>
<li><a href="Python.html#n45">Typemaps</a> <li><a href="Python.html#n45">Tips and techniques</a>
<ul> <ul>
<li><a href="Python.html#n46">What is a typemap?</a> <li><a href="Python.html#n46">Input and output parameters</a>
<li><a href="Python.html#n47">Python typemaps</a> <li><a href="Python.html#n47">Simple pointers</a>
<li><a href="Python.html#n48">Typemap variables</a> <li><a href="Python.html#n48">Unbounded C Arrays</a>
<li><a href="Python.html#n49">Useful Python Functions</a> <li><a href="Python.html#n49">String handling</a>
<li><a href="Python.html#n50">Arrays</a>
<li><a href="Python.html#n51">String arrays</a>
<li><a href="Python.html#n52">STL wrappers</a>
</ul> </ul>
<li><a href="Python.html#n50">Typemap Examples</a> <li><a href="Python.html#n53">Typemaps</a>
<ul> <ul>
<li><a href="Python.html#n51">Converting Python list to a char ** </a> <li><a href="Python.html#n54">What is a typemap?</a>
<li><a href="Python.html#n52">Expanding a Python object into multiple arguments</a> <li><a href="Python.html#n55">Python typemaps</a>
<li><a href="Python.html#n53">Using typemaps to return arguments</a> <li><a href="Python.html#n56">Typemap variables</a>
<li><a href="Python.html#n54">Mapping Python tuples into small arrays</a> <li><a href="Python.html#n57">Useful Python Functions</a>
<li><a href="Python.html#n55">Mapping sequences to C arrays</a> </ul>
<li><a href="Python.html#n56">Pointer handling</a> <li><a href="Python.html#n58">Typemap Examples</a>
<ul>
<li><a href="Python.html#n59">Converting Python list to a char ** </a>
<li><a href="Python.html#n60">Expanding a Python object into multiple arguments</a>
<li><a href="Python.html#n61">Using typemaps to return arguments</a>
<li><a href="Python.html#n62">Mapping Python tuples into small arrays</a>
<li><a href="Python.html#n63">Mapping sequences to C arrays</a>
<li><a href="Python.html#n64">Pointer handling</a>
</ul> </ul>
</ul> </ul>
<!-- INDEX --> <!-- INDEX -->

View file

@ -4020,4 +4020,3 @@ For the benefit of Windows users, there are also Visual C++ project files in a c
</body> </body>
</html> </html>

View file

@ -2500,4 +2500,4 @@ not even sure if it really works). <p>
<address>SWIG 1.3 - Last Modified : Feb 13, 2003</address> <address>SWIG 1.3 - Last Modified : Feb 13, 2003</address>
</body> </body>
</html> </html>

View file

@ -46,7 +46,7 @@
</ul> </ul>
<li><a href="#n32">Cross language polymorphism (experimental)</a> <li><a href="#n32">Cross language polymorphism (experimental)</a>
<ul> <ul>
<li><a href="#n33">Command line options</a> <li><a href="#n33">Enabling directors</a>
<li><a href="#n34">Director classes</a> <li><a href="#n34">Director classes</a>
<li><a href="#n35">Ownership and object destruction</a> <li><a href="#n35">Ownership and object destruction</a>
<li><a href="#n36">Exception unrolling</a> <li><a href="#n36">Exception unrolling</a>
@ -1911,6 +1911,7 @@ function or through an instance (see the earlier section).
<a name="n32"></a><H2>19.5 Cross language polymorphism (experimental)</H2> <a name="n32"></a><H2>19.5 Cross language polymorphism (experimental)</H2>
Proxy classes provide a more natural, object-oriented way to access Proxy classes provide a more natural, object-oriented way to access
extension classes. As described above, each proxy instance has an extension classes. As described above, each proxy instance has an
associated C++ instance, and method calls to the proxy are passed to the associated C++ instance, and method calls to the proxy are passed to the
@ -1938,6 +1939,7 @@ all the cross-language method routing transparently.
<a name="n33"></a><H3>19.5.1 Enabling directors</H3> <a name="n33"></a><H3>19.5.1 Enabling directors</H3>
The director feature is disabled by default. To use directors you The director feature is disabled by default. To use directors you
must make two changes to the interface file. First, add the "directors" must make two changes to the interface file. First, add the "directors"
option to the %module directive, like this: option to the %module directive, like this:
@ -2002,6 +2004,7 @@ public:
<a name="n34"></a><H3>19.5.2 Director classes</H3> <a name="n34"></a><H3>19.5.2 Director classes</H3>
For each class that has directors enabled, SWIG generates a new class For each class that has directors enabled, SWIG generates a new class
that derives from both the class in question and a special that derives from both the class in question and a special
<tt>__DIRECTOR__</tt> class. These new classes, referred to as director <tt>__DIRECTOR__</tt> class. These new classes, referred to as director
@ -2074,6 +2077,7 @@ calls through Python.
<a name="n35"></a><H3>19.5.3 Ownership and object destruction</H3> <a name="n35"></a><H3>19.5.3 Ownership and object destruction</H3>
Memory management issues are slightly more complicated with directors Memory management issues are slightly more complicated with directors
than for proxy classes alone. Python instances hold a pointer to the than for proxy classes alone. Python instances hold a pointer to the
associated C++ director object, and the director in turn holds a pointer associated C++ director object, and the director in turn holds a pointer
@ -2133,6 +2137,7 @@ references to the Foo objects remain in Python.
<a name="n36"></a><H3>19.5.4 Exception unrolling</H3> <a name="n36"></a><H3>19.5.4 Exception unrolling</H3>
With directors routing method calls to Python, and proxies routing them With directors routing method calls to Python, and proxies routing them
to C++, the handling of exceptions is an important concern. By default, the to C++, the handling of exceptions is an important concern. By default, the
directors ignore exceptions that occur during method calls that are directors ignore exceptions that occur during method calls that are
@ -2184,6 +2189,7 @@ exception as soon as the C wrapper function returns.
<a name="n37"></a><H3>19.5.5 Overhead and code bloat</H3> <a name="n37"></a><H3>19.5.5 Overhead and code bloat</H3>
Enabling directors for a class will generate a new director method for Enabling directors for a class will generate a new director method for
every virtual method in the class' inheritance chain. This alone can every virtual method in the class' inheritance chain. This alone can
generate a lot of code bloat for large hierarchies. Method arguments generate a lot of code bloat for large hierarchies. Method arguments
@ -2213,6 +2219,7 @@ Python.
<a name="n38"></a><H3>19.5.6 Typemaps</H3> <a name="n38"></a><H3>19.5.6 Typemaps</H3>
Typemaps for input and output of most of the basic types from director Typemaps for input and output of most of the basic types from director
classes have been written. These are roughly the reverse of the usual classes have been written. These are roughly the reverse of the usual
input and output typemaps used by the wrapper code. The typemap input and output typemaps used by the wrapper code. The typemap
@ -3638,4 +3645,4 @@ class object (if applicable).
<address>SWIG 1.3 - Last Modified : August 7, 2002</address> <address>SWIG 1.3 - Last Modified : August 7, 2002</address>
</body> </body>
</html> </html>

View file

@ -3003,4 +3003,4 @@ for more details).
<address>SWIG 1.3 - Last Modified : $Date$</address> <address>SWIG 1.3 - Last Modified : $Date$</address>
</body> </body>
</html> </html>

View file

@ -177,4 +177,4 @@ Starting with SWIG-1.3.12 the examples and test-suite work almost as successfull
You may need to run <tt>./autogen.sh</tt> from the SWIG root directory before running <tt>./configure</tt> if you have the latest autotools installed and want to use them (usually recommended). You may need to run <tt>./autogen.sh</tt> from the SWIG root directory before running <tt>./configure</tt> if you have the latest autotools installed and want to use them (usually recommended).
</body> </body>
</html> </html>

View file

@ -396,6 +396,9 @@ public:
} }
} }
/* Set comparison with none for ConstructorToFunction */
SetNoneComparison( NewString( "$arg != Py_None" ) );
/* Initialize all of the output files */ /* Initialize all of the output files */
String *outfile = Getattr(n,"outfile"); String *outfile = Getattr(n,"outfile");
String *outfile_h = Getattr(n, "outfile_h"); String *outfile_h = Getattr(n, "outfile_h");