Not all languages were not in alphabetical order

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12252 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2010-10-04 06:16:21 +00:00
commit 29b4dbdac1
6 changed files with 174 additions and 174 deletions

View file

@ -1360,7 +1360,23 @@
</div> </div>
<!-- INDEX --> <!-- INDEX -->
<h3><a href="Ruby.html#Ruby">33 SWIG and Ruby</a></h3> <h3><a href="R.html#R">33 SWIG and R</a></h3>
<!-- INDEX -->
<div class="sectiontoc">
<ul>
<li><a href="R.html#R_nn2">Bugs</a>
<li><a href="R.html#R_nn3">Using R and SWIG</a>
<li><a href="R.html#R_nn4">Precompiling large R files</a>
<li><a href="R.html#R_nn5">General policy</a>
<li><a href="R.html#R_language_conventions">Language conventions</a>
<li><a href="R.html#R_nn6">C++ classes</a>
<li><a href="R.html#R_nn7">Enumerations</a>
</ul>
</div>
<!-- INDEX -->
<h3><a href="Ruby.html#Ruby">34 SWIG and Ruby</a></h3>
<!-- INDEX --> <!-- INDEX -->
<div class="sectiontoc"> <div class="sectiontoc">
@ -1494,7 +1510,7 @@
</div> </div>
<!-- INDEX --> <!-- INDEX -->
<h3><a href="Tcl.html#Tcl">34 SWIG and Tcl</a></h3> <h3><a href="Tcl.html#Tcl">35 SWIG and Tcl</a></h3>
<!-- INDEX --> <!-- INDEX -->
<div class="sectiontoc"> <div class="sectiontoc">
@ -1560,22 +1576,6 @@
</div> </div>
<!-- INDEX --> <!-- INDEX -->
<h3><a href="R.html#R">35 SWIG and R</a></h3>
<!-- INDEX -->
<div class="sectiontoc">
<ul>
<li><a href="R.html#R_nn2">Bugs</a>
<li><a href="R.html#R_nn3">Using R and SWIG</a>
<li><a href="R.html#R_nn4">Precompiling large R files</a>
<li><a href="R.html#R_nn5">General policy</a>
<li><a href="R.html#R_language_conventions">Language conventions</a>
<li><a href="R.html#R_nn6">C++ classes</a>
<li><a href="R.html#R_nn7">Enumerations</a>
</ul>
</div>
<!-- INDEX -->
<h3><a href="Extending.html#Extending">36 Extending SWIG to support new languages</a></h3> <h3><a href="Extending.html#Extending">36 Extending SWIG to support new languages</a></h3>
<!-- INDEX --> <!-- INDEX -->

View file

@ -6,7 +6,7 @@
</head> </head>
<body bgcolor="#ffffff"> <body bgcolor="#ffffff">
<H1><a name="R"></a>35 SWIG and R</H1> <H1><a name="R"></a>33 SWIG and R</H1>
<!-- INDEX --> <!-- INDEX -->
<div class="sectiontoc"> <div class="sectiontoc">
<ul> <ul>
@ -33,7 +33,7 @@ compile and run an R interface to QuantLib running on Mandriva Linux
with gcc. The R bindings also work on Microsoft Windows using Visual C++. with gcc. The R bindings also work on Microsoft Windows using Visual C++.
</p> </p>
<H2><a name="R_nn2"></a>35.1 Bugs</H2> <H2><a name="R_nn2"></a>33.1 Bugs</H2>
<p> <p>
@ -45,7 +45,7 @@ Currently the following features are not implemented or broken:
<li>C Array wrappings <li>C Array wrappings
</ul> </ul>
<H2><a name="R_nn3"></a>35.2 Using R and SWIG</H2> <H2><a name="R_nn3"></a>33.2 Using R and SWIG</H2>
<p> <p>
@ -119,7 +119,7 @@ Without it, inheritance of wrapped objects may fail.
These two files can be loaded in any order These two files can be loaded in any order
</p> </p>
<H2><a name="R_nn4"></a>35.3 Precompiling large R files</H2> <H2><a name="R_nn4"></a>33.3 Precompiling large R files</H2>
In cases where the R file is large, one make save a lot of loading In cases where the R file is large, one make save a lot of loading
@ -137,7 +137,7 @@ will save a large amount of loading time.
<H2><a name="R_nn5"></a>35.4 General policy</H2> <H2><a name="R_nn5"></a>33.4 General policy</H2>
<p> <p>
@ -146,7 +146,7 @@ wrapping over the underlying functions and rely on the R type system
to provide R syntax. to provide R syntax.
</p> </p>
<H2><a name="R_language_conventions"></a>35.5 Language conventions</H2> <H2><a name="R_language_conventions"></a>33.5 Language conventions</H2>
<p> <p>
@ -155,7 +155,7 @@ and [ are overloaded to allow for R syntax (one based indices and
slices) slices)
</p> </p>
<H2><a name="R_nn6"></a>35.6 C++ classes</H2> <H2><a name="R_nn6"></a>33.6 C++ classes</H2>
<p> <p>
@ -167,7 +167,7 @@ keep track of the pointer object which removes the necessity for a lot
of the proxy class baggage you see in other languages. of the proxy class baggage you see in other languages.
</p> </p>
<H2><a name="R_nn7"></a>35.7 Enumerations</H2> <H2><a name="R_nn7"></a>33.7 Enumerations</H2>
<p> <p>

View file

@ -7,7 +7,7 @@
<body bgcolor="#ffffff"> <body bgcolor="#ffffff">
<H1><a name="Ruby"></a>33 SWIG and Ruby</H1> <H1><a name="Ruby"></a>34 SWIG and Ruby</H1>
<!-- INDEX --> <!-- INDEX -->
<div class="sectiontoc"> <div class="sectiontoc">
<ul> <ul>
@ -148,7 +148,7 @@
<H2><a name="Ruby_nn2"></a>33.1 Preliminaries</H2> <H2><a name="Ruby_nn2"></a>34.1 Preliminaries</H2>
<p> SWIG 1.3 is known to work with Ruby versions 1.6 and later. <p> SWIG 1.3 is known to work with Ruby versions 1.6 and later.
@ -171,7 +171,7 @@ of Ruby. </p>
<H3><a name="Ruby_nn3"></a>33.1.1 Running SWIG</H3> <H3><a name="Ruby_nn3"></a>34.1.1 Running SWIG</H3>
<p> To build a Ruby module, run SWIG using the <tt>-ruby</tt> <p> To build a Ruby module, run SWIG using the <tt>-ruby</tt>
@ -225,7 +225,7 @@ to compile this file and link it with the rest of your program. </p>
<H3><a name="Ruby_nn4"></a>33.1.2 Getting the right header files</H3> <H3><a name="Ruby_nn4"></a>34.1.2 Getting the right header files</H3>
<p> In order to compile the wrapper code, the compiler needs the <tt>ruby.h</tt> <p> In order to compile the wrapper code, the compiler needs the <tt>ruby.h</tt>
@ -274,7 +274,7 @@ installed, you can run Ruby to find out. For example: </p>
<H3><a name="Ruby_nn5"></a>33.1.3 Compiling a dynamic module</H3> <H3><a name="Ruby_nn5"></a>34.1.3 Compiling a dynamic module</H3>
<p> Ruby extension modules are typically compiled into shared <p> Ruby extension modules are typically compiled into shared
@ -428,7 +428,7 @@ manual pages for your compiler and linker to determine the correct set
of options. You might also check the <a href="http://www.dabeaz.com/cgi-bin/wiki.pl">SWIG Wiki</a> of options. You might also check the <a href="http://www.dabeaz.com/cgi-bin/wiki.pl">SWIG Wiki</a>
for additional information. </p> for additional information. </p>
<H3><a name="Ruby_nn6"></a>33.1.4 Using your module</H3> <H3><a name="Ruby_nn6"></a>34.1.4 Using your module</H3>
<p> Ruby <i>module</i> names must be capitalized, <p> Ruby <i>module</i> names must be capitalized,
@ -488,7 +488,7 @@ begins with: </p>
<H3><a name="Ruby_nn7"></a>33.1.5 Static linking</H3> <H3><a name="Ruby_nn7"></a>34.1.5 Static linking</H3>
<p> An alternative approach to dynamic linking is to rebuild the <p> An alternative approach to dynamic linking is to rebuild the
@ -509,7 +509,7 @@ finally rebuilding Ruby. </p>
<H3><a name="Ruby_nn8"></a>33.1.6 Compilation of C++ extensions</H3> <H3><a name="Ruby_nn8"></a>34.1.6 Compilation of C++ extensions</H3>
<p> On most machines, C++ extension modules should be linked <p> On most machines, C++ extension modules should be linked
@ -561,7 +561,7 @@ extension, e.g. </p>
<H2><a name="Ruby_nn9"></a>33.2 Building Ruby Extensions under Windows 95/NT</H2> <H2><a name="Ruby_nn9"></a>34.2 Building Ruby Extensions under Windows 95/NT</H2>
<p> Building a SWIG extension to Ruby under Windows 95/NT is <p> Building a SWIG extension to Ruby under Windows 95/NT is
@ -600,7 +600,7 @@ files. </p>
<H3><a name="Ruby_nn10"></a>33.2.1 Running SWIG from Developer Studio</H3> <H3><a name="Ruby_nn10"></a>34.2.1 Running SWIG from Developer Studio</H3>
<p> If you are developing your application within Microsoft <p> If you are developing your application within Microsoft
@ -742,7 +742,7 @@ directory, then run the Ruby script from the DOS/Command prompt: </p>
<H2><a name="Ruby_nn11"></a>33.3 The Ruby-to-C/C++ Mapping</H2> <H2><a name="Ruby_nn11"></a>34.3 The Ruby-to-C/C++ Mapping</H2>
<p> This section describes the basics of how SWIG maps C or C++ <p> This section describes the basics of how SWIG maps C or C++
@ -752,7 +752,7 @@ declarations in your SWIG interface files to Ruby constructs. </p>
<H3><a name="Ruby_nn12"></a>33.3.1 Modules</H3> <H3><a name="Ruby_nn12"></a>34.3.1 Modules</H3>
<p> The SWIG <tt>%module</tt> directive specifies <p> The SWIG <tt>%module</tt> directive specifies
@ -921,7 +921,7 @@ Ruby's built-in names. </p>
<H3><a name="Ruby_nn13"></a>33.3.2 Functions</H3> <H3><a name="Ruby_nn13"></a>34.3.2 Functions</H3>
<p> Global functions are wrapped as Ruby module methods. For <p> Global functions are wrapped as Ruby module methods. For
@ -984,7 +984,7 @@ module that can be used like so: </p>
<H3><a name="Ruby_nn14"></a>33.3.3 Variable Linking</H3> <H3><a name="Ruby_nn14"></a>34.3.3 Variable Linking</H3>
<p> C/C++ global variables are wrapped as a pair of singleton <p> C/C++ global variables are wrapped as a pair of singleton
@ -1084,7 +1084,7 @@ effect until it is explicitly disabled using <tt>%mutable</tt>.
<H3><a name="Ruby_nn15"></a>33.3.4 Constants</H3> <H3><a name="Ruby_nn15"></a>34.3.4 Constants</H3>
<p> C/C++ constants are wrapped as module constants initialized <p> C/C++ constants are wrapped as module constants initialized
@ -1128,7 +1128,7 @@ constant values, e.g. </p>
<H3><a name="Ruby_nn16"></a>33.3.5 Pointers</H3> <H3><a name="Ruby_nn16"></a>34.3.5 Pointers</H3>
<p> "Opaque" pointers to arbitrary C/C++ types (i.e. types that <p> "Opaque" pointers to arbitrary C/C++ types (i.e. types that
@ -1180,7 +1180,7 @@ the Ruby <tt>nil</tt> object. </p>
<H3><a name="Ruby_nn17"></a>33.3.6 Structures</H3> <H3><a name="Ruby_nn17"></a>34.3.6 Structures</H3>
<p> C/C++ structs are wrapped as Ruby classes, with accessor <p> C/C++ structs are wrapped as Ruby classes, with accessor
@ -1355,7 +1355,7 @@ pointers. For example, </p>
<H3><a name="Ruby_nn18"></a>33.3.7 C++ classes</H3> <H3><a name="Ruby_nn18"></a>34.3.7 C++ classes</H3>
<p> Like structs, C++ classes are wrapped by creating a new Ruby <p> Like structs, C++ classes are wrapped by creating a new Ruby
@ -1441,7 +1441,7 @@ class. </li>
<H3><a name="Ruby_nn19"></a>33.3.8 C++ Inheritance</H3> <H3><a name="Ruby_nn19"></a>34.3.8 C++ Inheritance</H3>
<p> The SWIG type-checker is fully aware of C++ inheritance. <p> The SWIG type-checker is fully aware of C++ inheritance.
@ -1672,7 +1672,7 @@ Typing"</a>). </p>
<H3><a name="Ruby_nn20"></a>33.3.9 C++ Overloaded Functions</H3> <H3><a name="Ruby_nn20"></a>34.3.9 C++ Overloaded Functions</H3>
<p> C++ overloaded functions, methods, and constructors are <p> C++ overloaded functions, methods, and constructors are
@ -1872,7 +1872,7 @@ and C++"</a> chapter for more information about overloading. </p>
<H3><a name="Ruby_nn21"></a>33.3.10 C++ Operators</H3> <H3><a name="Ruby_nn21"></a>34.3.10 C++ Operators</H3>
<p> For the most part, overloaded operators are handled <p> For the most part, overloaded operators are handled
@ -1953,7 +1953,7 @@ on operator overloading</a>. </p>
<H3><a name="Ruby_nn22"></a>33.3.11 C++ namespaces</H3> <H3><a name="Ruby_nn22"></a>34.3.11 C++ namespaces</H3>
<p> SWIG is aware of C++ namespaces, but namespace names do not <p> SWIG is aware of C++ namespaces, but namespace names do not
@ -2029,7 +2029,7 @@ identical symbol names, well, then you get what you deserve. </p>
<H3><a name="Ruby_nn23"></a>33.3.12 C++ templates</H3> <H3><a name="Ruby_nn23"></a>34.3.12 C++ templates</H3>
<p> C++ templates don't present a huge problem for SWIG. However, <p> C++ templates don't present a huge problem for SWIG. However,
@ -2073,7 +2073,7 @@ directive. For example: </p>
<H3><a name="Ruby_nn23_1"></a>33.3.13 C++ Standard Template Library (STL)</H3> <H3><a name="Ruby_nn23_1"></a>34.3.13 C++ Standard Template Library (STL)</H3>
<p> On a related note, the standard SWIG library contains a <p> On a related note, the standard SWIG library contains a
@ -2326,7 +2326,7 @@ chapter.</p>
<H3><a name="Ruby_C_STL_Functors"></a>33.3.14 C++ STL Functors</H3> <H3><a name="Ruby_C_STL_Functors"></a>34.3.14 C++ STL Functors</H3>
<p>Some containers in the STL allow you to modify their default <p>Some containers in the STL allow you to modify their default
@ -2526,7 +2526,7 @@ b<br style="font-weight: bold;">
<H3><a name="Ruby_C_Iterators"></a>33.3.15 C++ STL Iterators</H3> <H3><a name="Ruby_C_Iterators"></a>34.3.15 C++ STL Iterators</H3>
<p>The STL is well known for the use of iterators. &nbsp;There <p>The STL is well known for the use of iterators. &nbsp;There
@ -2737,7 +2737,7 @@ i<br>
<H3><a name="Ruby_nn24"></a>33.3.16 C++ Smart Pointers</H3> <H3><a name="Ruby_nn24"></a>34.3.16 C++ Smart Pointers</H3>
<p> In certain C++ programs, it is common to use classes that <p> In certain C++ programs, it is common to use classes that
@ -2862,7 +2862,7 @@ method. For example: </p>
<H3><a name="Ruby_nn25"></a>33.3.17 Cross-Language Polymorphism</H3> <H3><a name="Ruby_nn25"></a>34.3.17 Cross-Language Polymorphism</H3>
<p> SWIG's Ruby module supports cross-language polymorphism <p> SWIG's Ruby module supports cross-language polymorphism
@ -2875,7 +2875,7 @@ using this feature with Ruby. </p>
<H4><a name="Ruby_nn26"></a>33.3.17.1 Exception Unrolling</H4> <H4><a name="Ruby_nn26"></a>34.3.17.1 Exception Unrolling</H4>
<p> Whenever a C++ director class routes one of its virtual <p> Whenever a C++ director class routes one of its virtual
@ -2913,7 +2913,7 @@ caught here and a C++ exception is raised in its place. </p>
<H2><a name="Ruby_nn27"></a>33.4 Naming</H2> <H2><a name="Ruby_nn27"></a>34.4 Naming</H2>
<p>Ruby has several common naming conventions. Constants are <p>Ruby has several common naming conventions. Constants are
@ -3009,7 +3009,7 @@ planned to become the default option in future releases.</p>
<H3><a name="Ruby_nn28"></a>33.4.1 Defining Aliases</H3> <H3><a name="Ruby_nn28"></a>34.4.1 Defining Aliases</H3>
<p> It's a fairly common practice in the Ruby built-ins and <p> It's a fairly common practice in the Ruby built-ins and
@ -3101,7 +3101,7 @@ Features"</a>) for more details).</p>
<H3><a name="Ruby_nn29"></a>33.4.2 Predicate Methods</H3> <H3><a name="Ruby_nn29"></a>34.4.2 Predicate Methods</H3>
<p> Ruby methods that return a boolean value and end in a <p> Ruby methods that return a boolean value and end in a
@ -3190,7 +3190,7 @@ Features"</a>) for more details). </p>
<H3><a name="Ruby_nn30"></a>33.4.3 Bang Methods</H3> <H3><a name="Ruby_nn30"></a>34.4.3 Bang Methods</H3>
<p> Ruby methods that modify an object in-place and end in an <p> Ruby methods that modify an object in-place and end in an
@ -3254,7 +3254,7 @@ Features"</a>) for more details). </p>
<H3><a name="Ruby_nn31"></a>33.4.4 Getters and Setters</H3> <H3><a name="Ruby_nn31"></a>34.4.4 Getters and Setters</H3>
<p> Often times a C++ library will expose properties through <p> Often times a C++ library will expose properties through
@ -3324,7 +3324,7 @@ methods to be exposed in Ruby as <tt>value</tt> and <tt>value=.
<H2><a name="Ruby_nn32"></a>33.5 Input and output parameters</H2> <H2><a name="Ruby_nn32"></a>34.5 Input and output parameters</H2>
<p> A common problem in some C programs is handling parameters <p> A common problem in some C programs is handling parameters
@ -3575,10 +3575,10 @@ of <tt>%apply</tt> </p>
<H2><a name="Ruby_nn33"></a>33.6 Exception handling </H2> <H2><a name="Ruby_nn33"></a>34.6 Exception handling </H2>
<H3><a name="Ruby_nn34"></a>33.6.1 Using the %exception directive </H3> <H3><a name="Ruby_nn34"></a>34.6.1 Using the %exception directive </H3>
<p>The SWIG <tt>%exception</tt> directive can be <p>The SWIG <tt>%exception</tt> directive can be
@ -3673,7 +3673,7 @@ Features</a> for more examples.</p>
<H3><a name="Ruby_nn34_2"></a>33.6.2 Handling Ruby Blocks </H3> <H3><a name="Ruby_nn34_2"></a>34.6.2 Handling Ruby Blocks </H3>
<p>One of the highlights of Ruby and most of its standard library <p>One of the highlights of Ruby and most of its standard library
@ -3854,7 +3854,7 @@ RUBY_YIELD_SELF );<br>
<p>For more information on typemaps, see <a href="#Ruby_nn37">Typemaps</a>.</p> <p>For more information on typemaps, see <a href="#Ruby_nn37">Typemaps</a>.</p>
<H3><a name="Ruby_nn35"></a>33.6.3 Raising exceptions </H3> <H3><a name="Ruby_nn35"></a>34.6.3 Raising exceptions </H3>
<p>There are three ways to raise exceptions from C++ code to <p>There are three ways to raise exceptions from C++ code to
@ -4615,7 +4615,7 @@ the built-in Ruby exception types.</p>
<H3><a name="Ruby_nn36"></a>33.6.4 Exception classes </H3> <H3><a name="Ruby_nn36"></a>34.6.4 Exception classes </H3>
<p>Starting with SWIG 1.3.28, the Ruby module supports the <tt>%exceptionclass</tt> <p>Starting with SWIG 1.3.28, the Ruby module supports the <tt>%exceptionclass</tt>
@ -4673,7 +4673,7 @@ providing for a more natural integration between C++ code and Ruby code.</p>
<H2><a name="Ruby_nn37"></a>33.7 Typemaps</H2> <H2><a name="Ruby_nn37"></a>34.7 Typemaps</H2>
<p> This section describes how you can modify SWIG's default <p> This section describes how you can modify SWIG's default
@ -4696,7 +4696,7 @@ of the primitive C-Ruby interface.</p>
<H3><a name="Ruby_nn38"></a>33.7.1 What is a typemap?</H3> <H3><a name="Ruby_nn38"></a>34.7.1 What is a typemap?</H3>
<p> A typemap is nothing more than a code generation rule that is <p> A typemap is nothing more than a code generation rule that is
@ -4958,7 +4958,7 @@ to be used as follows (notice how the length parameter is omitted): </p>
<H3><a name="Ruby_Typemap_scope"></a>33.7.2 Typemap scope</H3> <H3><a name="Ruby_Typemap_scope"></a>34.7.2 Typemap scope</H3>
<p> Once defined, a typemap remains in effect for all of the <p> Once defined, a typemap remains in effect for all of the
@ -5006,7 +5006,7 @@ where the class itself is defined. For example:</p>
<H3><a name="Ruby_Copying_a_typemap"></a>33.7.3 Copying a typemap</H3> <H3><a name="Ruby_Copying_a_typemap"></a>34.7.3 Copying a typemap</H3>
<p> A typemap is copied by using assignment. For example:</p> <p> A typemap is copied by using assignment. For example:</p>
@ -5108,7 +5108,7 @@ rules as for <tt>
<H3><a name="Ruby_Deleting_a_typemap"></a>33.7.4 Deleting a typemap</H3> <H3><a name="Ruby_Deleting_a_typemap"></a>34.7.4 Deleting a typemap</H3>
<p> A typemap can be deleted by simply defining no code. For <p> A typemap can be deleted by simply defining no code. For
@ -5160,7 +5160,7 @@ typemaps immediately after the clear operation.</p>
<H3><a name="Ruby_Placement_of_typemaps"></a>33.7.5 Placement of typemaps</H3> <H3><a name="Ruby_Placement_of_typemaps"></a>34.7.5 Placement of typemaps</H3>
<p> Typemap declarations can be declared in the global scope, <p> Typemap declarations can be declared in the global scope,
@ -5244,7 +5244,7 @@ string</tt>
<H3><a name="Ruby_nn39"></a>33.7.6 Ruby typemaps</H3> <H3><a name="Ruby_nn39"></a>34.7.6 Ruby typemaps</H3>
<p>The following list details all of the typemap methods that <p>The following list details all of the typemap methods that
@ -5254,7 +5254,7 @@ can be used by the Ruby module: </p>
<H4><a name="Ruby_in_typemap"></a>33.7.6.1 &nbsp;"in" typemap</H4> <H4><a name="Ruby_in_typemap"></a>34.7.6.1 &nbsp;"in" typemap</H4>
<p>Converts Ruby objects to input <p>Converts Ruby objects to input
@ -5497,7 +5497,7 @@ arguments to be specified. For example:</p>
<H4><a name="Ruby_typecheck_typemap"></a>33.7.6.2 "typecheck" typemap</H4> <H4><a name="Ruby_typecheck_typemap"></a>34.7.6.2 "typecheck" typemap</H4>
<p> The "typecheck" typemap is used to support overloaded <p> The "typecheck" typemap is used to support overloaded
@ -5538,7 +5538,7 @@ on "Typemaps and Overloading."</p>
<H4><a name="Ruby_out_typemap"></a>33.7.6.3 &nbsp;"out" typemap</H4> <H4><a name="Ruby_out_typemap"></a>34.7.6.3 &nbsp;"out" typemap</H4>
<p>Converts return value of a C function <p>Converts return value of a C function
@ -5770,7 +5770,7 @@ version of the C datatype matched by the typemap.</td>
<H4><a name="Ruby_arginit_typemap"></a>33.7.6.4 "arginit" typemap</H4> <H4><a name="Ruby_arginit_typemap"></a>34.7.6.4 "arginit" typemap</H4>
<p> The "arginit" typemap is used to set the initial value of a <p> The "arginit" typemap is used to set the initial value of a
@ -5795,7 +5795,7 @@ applications. For example:</p>
<H4><a name="Ruby_default_typemap"></a>33.7.6.5 "default" typemap</H4> <H4><a name="Ruby_default_typemap"></a>34.7.6.5 "default" typemap</H4>
<p> The "default" typemap is used to turn an argument into a <p> The "default" typemap is used to turn an argument into a
@ -5837,7 +5837,7 @@ default argument wrapping.</p>
<H4><a name="Ruby_check_typemap"></a>33.7.6.6 "check" typemap</H4> <H4><a name="Ruby_check_typemap"></a>34.7.6.6 "check" typemap</H4>
<p> The "check" typemap is used to supply value checking code <p> The "check" typemap is used to supply value checking code
@ -5861,7 +5861,7 @@ arguments have been converted. For example:</p>
<H4><a name="Ruby_argout_typemap_"></a>33.7.6.7 "argout" typemap</H4> <H4><a name="Ruby_argout_typemap_"></a>34.7.6.7 "argout" typemap</H4>
<p> The "argout" typemap is used to return values from arguments. <p> The "argout" typemap is used to return values from arguments.
@ -6019,7 +6019,7 @@ some function like SWIG_Ruby_AppendOutput.</p>
<H4><a name="Ruby_freearg_typemap_"></a>33.7.6.8 "freearg" typemap</H4> <H4><a name="Ruby_freearg_typemap_"></a>34.7.6.8 "freearg" typemap</H4>
<p> The "freearg" typemap is used to cleanup argument data. It is <p> The "freearg" typemap is used to cleanup argument data. It is
@ -6055,7 +6055,7 @@ abort prematurely.</p>
<H4><a name="Ruby_newfree_typemap"></a>33.7.6.9 "newfree" typemap</H4> <H4><a name="Ruby_newfree_typemap"></a>34.7.6.9 "newfree" typemap</H4>
<p> The "newfree" typemap is used in conjunction with the <tt>%newobject</tt> <p> The "newfree" typemap is used in conjunction with the <tt>%newobject</tt>
@ -6086,7 +6086,7 @@ ownership and %newobject</a> for further details.</p>
<H4><a name="Ruby_memberin_typemap"></a>33.7.6.10 "memberin" typemap</H4> <H4><a name="Ruby_memberin_typemap"></a>34.7.6.10 "memberin" typemap</H4>
<p> The "memberin" typemap is used to copy data from<em> an <p> The "memberin" typemap is used to copy data from<em> an
@ -6119,7 +6119,7 @@ other objects.</p>
<H4><a name="Ruby_varin_typemap"></a>33.7.6.11 "varin" typemap</H4> <H4><a name="Ruby_varin_typemap"></a>34.7.6.11 "varin" typemap</H4>
<p> The "varin" typemap is used to convert objects in the target <p> The "varin" typemap is used to convert objects in the target
@ -6130,7 +6130,7 @@ This is implementation specific.</p>
<H4><a name="Ruby_varout_typemap_"></a>33.7.6.12 "varout" typemap</H4> <H4><a name="Ruby_varout_typemap_"></a>34.7.6.12 "varout" typemap</H4>
<p> The "varout" typemap is used to convert a C/C++ object to an <p> The "varout" typemap is used to convert a C/C++ object to an
@ -6141,7 +6141,7 @@ This is implementation specific.</p>
<H4><a name="Ruby_throws_typemap"></a>33.7.6.13 "throws" typemap</H4> <H4><a name="Ruby_throws_typemap"></a>34.7.6.13 "throws" typemap</H4>
<p> The "throws" typemap is only used when SWIG parses a C++ <p> The "throws" typemap is only used when SWIG parses a C++
@ -6200,7 +6200,7 @@ handling with %exception</a> section.</p>
<H4><a name="Ruby_directorin_typemap"></a>33.7.6.14 directorin typemap</H4> <H4><a name="Ruby_directorin_typemap"></a>34.7.6.14 directorin typemap</H4>
<p>Converts C++ objects in director <p>Converts C++ objects in director
@ -6454,7 +6454,7 @@ referring to the class itself.</td>
<H4><a name="Ruby_directorout_typemap"></a>33.7.6.15 directorout typemap</H4> <H4><a name="Ruby_directorout_typemap"></a>34.7.6.15 directorout typemap</H4>
<p>Converts Ruby objects in director <p>Converts Ruby objects in director
@ -6714,7 +6714,7 @@ exception.<br>
<H4><a name="Ruby_directorargout_typemap"></a>33.7.6.16 directorargout typemap</H4> <H4><a name="Ruby_directorargout_typemap"></a>34.7.6.16 directorargout typemap</H4>
<p>Output argument processing in director <p>Output argument processing in director
@ -6954,7 +6954,7 @@ referring to the instance of the class itself</td>
<H4><a name="Ruby_ret_typemap"></a>33.7.6.17 ret typemap</H4> <H4><a name="Ruby_ret_typemap"></a>34.7.6.17 ret typemap</H4>
<p>Cleanup of function return values <p>Cleanup of function return values
@ -6964,7 +6964,7 @@ referring to the instance of the class itself</td>
<H4><a name="Ruby_globalin_typemap"></a>33.7.6.18 globalin typemap</H4> <H4><a name="Ruby_globalin_typemap"></a>34.7.6.18 globalin typemap</H4>
<p>Setting of C global variables <p>Setting of C global variables
@ -6974,7 +6974,7 @@ referring to the instance of the class itself</td>
<H3><a name="Ruby_nn40"></a>33.7.7 Typemap variables</H3> <H3><a name="Ruby_nn40"></a>34.7.7 Typemap variables</H3>
<p> <p>
@ -7084,7 +7084,7 @@ being created. </div>
<H3><a name="Ruby_nn41"></a>33.7.8 Useful Functions</H3> <H3><a name="Ruby_nn41"></a>34.7.8 Useful Functions</H3>
<p> When you write a typemap, you usually have to work directly <p> When you write a typemap, you usually have to work directly
@ -7108,7 +7108,7 @@ across multiple languages.</p>
<H4><a name="Ruby_nn42"></a>33.7.8.1 C Datatypes to Ruby Objects</H4> <H4><a name="Ruby_nn42"></a>34.7.8.1 C Datatypes to Ruby Objects</H4>
<div class="diagram"> <div class="diagram">
@ -7164,7 +7164,7 @@ SWIG_From_float(float)</td>
<H4><a name="Ruby_nn43"></a>33.7.8.2 Ruby Objects to C Datatypes</H4> <H4><a name="Ruby_nn43"></a>34.7.8.2 Ruby Objects to C Datatypes</H4>
<p>Here, while the Ruby versions return the value directly, the SWIG <p>Here, while the Ruby versions return the value directly, the SWIG
@ -7253,7 +7253,7 @@ Ruby_Format_TypeError( "$1_name", "$1_type","$symname", $argnum, $input
<H4><a name="Ruby_nn44"></a>33.7.8.3 Macros for VALUE</H4> <H4><a name="Ruby_nn44"></a>34.7.8.3 Macros for VALUE</H4>
<p> <tt>RSTRING_LEN(str)</tt> </p> <p> <tt>RSTRING_LEN(str)</tt> </p>
@ -7316,7 +7316,7 @@ Ruby_Format_TypeError( "$1_name", "$1_type","$symname", $argnum, $input
<H4><a name="Ruby_nn45"></a>33.7.8.4 Exceptions</H4> <H4><a name="Ruby_nn45"></a>34.7.8.4 Exceptions</H4>
<p> <tt>void rb_raise(VALUE exception, const char *fmt, <p> <tt>void rb_raise(VALUE exception, const char *fmt,
@ -7483,7 +7483,7 @@ arguments are interpreted as with <tt>printf()</tt>. </div>
<H4><a name="Ruby_nn46"></a>33.7.8.5 Iterators</H4> <H4><a name="Ruby_nn46"></a>34.7.8.5 Iterators</H4>
<p> <tt>void rb_iter_break()</tt> </p> <p> <tt>void rb_iter_break()</tt> </p>
@ -7585,7 +7585,7 @@ VALUE), VALUE value)</tt></p>
<H3><a name="Ruby_nn47"></a>33.7.9 Typemap Examples</H3> <H3><a name="Ruby_nn47"></a>34.7.9 Typemap Examples</H3>
<p> This section includes a few examples of typemaps. For more <p> This section includes a few examples of typemaps. For more
@ -7596,7 +7596,7 @@ directory. </p>
<H3><a name="Ruby_nn48"></a>33.7.10 Converting a Ruby array to a char **</H3> <H3><a name="Ruby_nn48"></a>34.7.10 Converting a Ruby array to a char **</H3>
<p> A common problem in many C programs is the processing of <p> A common problem in many C programs is the processing of
@ -7651,7 +7651,7 @@ after the execution of the C function. </p>
<H3><a name="Ruby_nn49"></a>33.7.11 Collecting arguments in a hash</H3> <H3><a name="Ruby_nn49"></a>34.7.11 Collecting arguments in a hash</H3>
<p> Ruby's solution to the "keyword arguments" capability of some <p> Ruby's solution to the "keyword arguments" capability of some
@ -7930,7 +7930,7 @@ directory of the SWIG distribution. </p>
<H3><a name="Ruby_nn50"></a>33.7.12 Pointer handling</H3> <H3><a name="Ruby_nn50"></a>34.7.12 Pointer handling</H3>
<p> Occasionally, it might be necessary to convert pointer values <p> Occasionally, it might be necessary to convert pointer values
@ -8029,7 +8029,7 @@ For example: </p>
<H4><a name="Ruby_nn51"></a>33.7.12.1 Ruby Datatype Wrapping</H4> <H4><a name="Ruby_nn51"></a>34.7.12.1 Ruby Datatype Wrapping</H4>
<p> <tt>VALUE Data_Wrap_Struct(VALUE class, void <p> <tt>VALUE Data_Wrap_Struct(VALUE class, void
@ -8080,7 +8080,7 @@ and assigns that pointer to <i>ptr</i>. </div>
<H3><a name="Ruby_nn52"></a>33.7.13 Example: STL Vector to Ruby Array</H3> <H3><a name="Ruby_nn52"></a>34.7.13 Example: STL Vector to Ruby Array</H3>
<p>Another use for macros and type maps is to create a Ruby array <p>Another use for macros and type maps is to create a Ruby array
@ -8189,7 +8189,7 @@ the<a href="#Ruby_nn23_1"> C++ Standard Template Library</a>.<br>
<H2><a name="Ruby_nn65"></a>33.8 Docstring Features</H2> <H2><a name="Ruby_nn65"></a>34.8 Docstring Features</H2>
<p> <p>
@ -8250,7 +8250,7 @@ generate ri documentation from a c wrap file, you could do:</p>
<H3><a name="Ruby_nn66"></a>33.8.1 Module docstring</H3> <H3><a name="Ruby_nn66"></a>34.8.1 Module docstring</H3>
<p> <p>
@ -8301,7 +8301,7 @@ macro. For example:
<H3><a name="Ruby_nn67"></a>33.8.2 %feature("autodoc")</H3> <H3><a name="Ruby_nn67"></a>34.8.2 %feature("autodoc")</H3>
<p>Since SWIG does know everything about the function it wraps, <p>Since SWIG does know everything about the function it wraps,
@ -8330,7 +8330,7 @@ feature, described below.
<H4><a name="Ruby_nn68"></a>33.8.2.1 %feature("autodoc", "0")</H4> <H4><a name="Ruby_nn68"></a>34.8.2.1 %feature("autodoc", "0")</H4>
<p> <p>
@ -8378,7 +8378,7 @@ Then Ruby code like this will be generated:
<H4><a name="Ruby_autodoc1"></a>33.8.2.2 %feature("autodoc", "1")</H4> <H4><a name="Ruby_autodoc1"></a>34.8.2.2 %feature("autodoc", "1")</H4>
<p> <p>
@ -8410,7 +8410,7 @@ this:
<H4><a name="Ruby_autodoc2"></a>33.8.2.3 %feature("autodoc", "2")</H4> <H4><a name="Ruby_autodoc2"></a>34.8.2.3 %feature("autodoc", "2")</H4>
<p> <p>
@ -8426,7 +8426,7 @@ this:
<H4><a name="Ruby_feature_autodoc3"></a>33.8.2.4 %feature("autodoc", "3")</H4> <H4><a name="Ruby_feature_autodoc3"></a>34.8.2.4 %feature("autodoc", "3")</H4>
<p> <p>
@ -8454,7 +8454,7 @@ this:
<H4><a name="Ruby_nn70"></a>33.8.2.5 %feature("autodoc", "docstring")</H4> <H4><a name="Ruby_nn70"></a>34.8.2.5 %feature("autodoc", "docstring")</H4>
<p> <p>
@ -8482,7 +8482,7 @@ generated string. For example:
<H3><a name="Ruby_nn71"></a>33.8.3 %feature("docstring")</H3> <H3><a name="Ruby_nn71"></a>34.8.3 %feature("docstring")</H3>
<p> <p>
@ -8497,10 +8497,10 @@ docstring and they are output together. </p>
<H2><a name="Ruby_nn53"></a>33.9 Advanced Topics</H2> <H2><a name="Ruby_nn53"></a>34.9 Advanced Topics</H2>
<H3><a name="Ruby_operator_overloading"></a>33.9.1 Operator overloading</H3> <H3><a name="Ruby_operator_overloading"></a>34.9.1 Operator overloading</H3>
<p> SWIG allows operator overloading with, by using the <tt>%extend</tt> <p> SWIG allows operator overloading with, by using the <tt>%extend</tt>
@ -9517,7 +9517,7 @@ parses the expression <i>a != b</i> as <i>!(a == b)</i>.
<H3><a name="Ruby_nn55"></a>33.9.2 Creating Multi-Module Packages</H3> <H3><a name="Ruby_nn55"></a>34.9.2 Creating Multi-Module Packages</H3>
<p> The chapter on <a href="Modules.html#Modules">Working <p> The chapter on <a href="Modules.html#Modules">Working
@ -9698,7 +9698,7 @@ initialized: </p>
<H3><a name="Ruby_nn56"></a>33.9.3 Specifying Mixin Modules</H3> <H3><a name="Ruby_nn56"></a>34.9.3 Specifying Mixin Modules</H3>
<p> The Ruby language doesn't support multiple inheritance, but <p> The Ruby language doesn't support multiple inheritance, but
@ -9796,7 +9796,7 @@ Features"</a>) for more details). </p>
<H2><a name="Ruby_nn57"></a>33.10 Memory Management</H2> <H2><a name="Ruby_nn57"></a>34.10 Memory Management</H2>
<p>One of the most common issues in generating SWIG bindings for <p>One of the most common issues in generating SWIG bindings for
@ -9843,7 +9843,7 @@ understanding of how the underlying library manages memory.</p>
<H3><a name="Ruby_nn58"></a>33.10.1 Mark and Sweep Garbage Collector </H3> <H3><a name="Ruby_nn58"></a>34.10.1 Mark and Sweep Garbage Collector </H3>
<p>Ruby uses a mark and sweep garbage collector. When the garbage <p>Ruby uses a mark and sweep garbage collector. When the garbage
@ -9891,7 +9891,7 @@ this memory. </p>
<H3><a name="Ruby_nn59"></a>33.10.2 Object Ownership</H3> <H3><a name="Ruby_nn59"></a>34.10.2 Object Ownership</H3>
<p>As described above, memory management depends on clearly <p>As described above, memory management depends on clearly
@ -10149,7 +10149,7 @@ public:
<H3><a name="Ruby_nn60"></a>33.10.3 Object Tracking</H3> <H3><a name="Ruby_nn60"></a>34.10.3 Object Tracking</H3>
<p>The remaining parts of this section will use the class library <p>The remaining parts of this section will use the class library
@ -10400,7 +10400,7 @@ methods.</p>
<H3><a name="Ruby_nn61"></a>33.10.4 Mark Functions</H3> <H3><a name="Ruby_nn61"></a>34.10.4 Mark Functions</H3>
<p>With a bit more testing, we see that our class library still <p>With a bit more testing, we see that our class library still
@ -10518,7 +10518,7 @@ test suite.</p>
<H3><a name="Ruby_nn62"></a>33.10.5 Free Functions</H3> <H3><a name="Ruby_nn62"></a>34.10.5 Free Functions</H3>
<p>By default, SWIG creates a "free" function that is called when <p>By default, SWIG creates a "free" function that is called when
@ -10768,7 +10768,7 @@ been freed, and thus raises a runtime exception.</p>
<H3><a name="Ruby_nn63"></a>33.10.6 Embedded Ruby and the C++ Stack</H3> <H3><a name="Ruby_nn63"></a>34.10.6 Embedded Ruby and the C++ Stack</H3>
<p>As has been said, the Ruby GC runs and marks objects before <p>As has been said, the Ruby GC runs and marks objects before

View file

@ -19,7 +19,7 @@ Last update : SWIG-2.0.1 (4 October 2010)
<li><a href="SWIG.html#SWIG">SWIG Basics</a> (Read this!)</li> <li><a href="SWIG.html#SWIG">SWIG Basics</a> (Read this!)</li>
<li><a href="SWIGPlus.html#SWIGPlus">SWIG and C++</a></li> <li><a href="SWIGPlus.html#SWIGPlus">SWIG and C++</a></li>
<li><a href="Preprocessor.html#Preprocessor">The SWIG preprocessor</a></li> <li><a href="Preprocessor.html#Preprocessor">The SWIG preprocessor</a></li>
<li><a href="Library.html#Library">The SWIG Library</a></li> <li><a href="Library.html#Library">The SWIG library</a></li>
<li><a href="Arguments.html#Arguments">Argument handling</a></li> <li><a href="Arguments.html#Arguments">Argument handling</a></li>
<li><a href="Typemaps.html#Typemaps">Typemaps</a></li> <li><a href="Typemaps.html#Typemaps">Typemaps</a></li>
<li><a href="Customization.html#Customization">Customization features</a></li> <li><a href="Customization.html#Customization">Customization features</a></li>
@ -39,8 +39,8 @@ Last update : SWIG-2.0.1 (4 October 2010)
<li><a href="Go.html#Go">Go support</a></li> <li><a href="Go.html#Go">Go support</a></li>
<li><a href="Guile.html#Guile">Guile support</a></li> <li><a href="Guile.html#Guile">Guile support</a></li>
<li><a href="Java.html#Java">Java support</a></li> <li><a href="Java.html#Java">Java support</a></li>
<li><a href="Lua.html#Lua">Lua support</a></li>
<li><a href="Lisp.html#Lisp">Common Lisp support</a></li> <li><a href="Lisp.html#Lisp">Common Lisp support</a></li>
<li><a href="Lua.html#Lua">Lua support</a></li>
<li><a href="Modula3.html#Modula3">Modula3 support</a></li> <li><a href="Modula3.html#Modula3">Modula3 support</a></li>
<li><a href="Mzscheme.html#MzScheme">MzScheme support</a></li> <li><a href="Mzscheme.html#MzScheme">MzScheme support</a></li>
<li><a href="Ocaml.html#Ocaml">Ocaml support</a></li> <li><a href="Ocaml.html#Ocaml">Ocaml support</a></li>
@ -49,8 +49,8 @@ Last update : SWIG-2.0.1 (4 October 2010)
<li><a href="Php.html#Php">PHP support</a></li> <li><a href="Php.html#Php">PHP support</a></li>
<li><a href="Pike.html#Pike">Pike support</a></li> <li><a href="Pike.html#Pike">Pike support</a></li>
<li><a href="Python.html#Python">Python support</a></li> <li><a href="Python.html#Python">Python support</a></li>
<li><a href="Ruby.html#Ruby">Ruby support</a></li>
<li><a href="R.html#R">R support</a></li> <li><a href="R.html#R">R support</a></li>
<li><a href="Ruby.html#Ruby">Ruby support</a></li>
<li><a href="Tcl.html#Tcl">Tcl support</a></li> <li><a href="Tcl.html#Tcl">Tcl support</a></li>
</ul> </ul>

View file

@ -6,7 +6,7 @@
</head> </head>
<body bgcolor="#ffffff"> <body bgcolor="#ffffff">
<H1><a name="Tcl"></a>34 SWIG and Tcl</H1> <H1><a name="Tcl"></a>35 SWIG and Tcl</H1>
<!-- INDEX --> <!-- INDEX -->
<div class="sectiontoc"> <div class="sectiontoc">
<ul> <ul>
@ -83,7 +83,7 @@ Tcl 8.0 or a later release. Earlier releases of SWIG supported Tcl 7.x, but
this is no longer supported. this is no longer supported.
</p> </p>
<H2><a name="Tcl_nn2"></a>34.1 Preliminaries</H2> <H2><a name="Tcl_nn2"></a>35.1 Preliminaries</H2>
<p> <p>
@ -109,7 +109,7 @@ build a Tcl extension module. To finish building the module, you
need to compile this file and link it with the rest of your program. need to compile this file and link it with the rest of your program.
</p> </p>
<H3><a name="Tcl_nn3"></a>34.1.1 Getting the right header files</H3> <H3><a name="Tcl_nn3"></a>35.1.1 Getting the right header files</H3>
<p> <p>
@ -127,7 +127,7 @@ this is the case, you should probably make a symbolic link so that <tt>tcl.h</tt
header file. header file.
</p> </p>
<H3><a name="Tcl_nn4"></a>34.1.2 Compiling a dynamic module</H3> <H3><a name="Tcl_nn4"></a>35.1.2 Compiling a dynamic module</H3>
<p> <p>
@ -162,7 +162,7 @@ The name of the module is specified using the <tt>%module</tt> directive or the
<tt> -module</tt> command line option. <tt> -module</tt> command line option.
</p> </p>
<H3><a name="Tcl_nn5"></a>34.1.3 Static linking</H3> <H3><a name="Tcl_nn5"></a>35.1.3 Static linking</H3>
<p> <p>
@ -228,7 +228,7 @@ minimal in most situations (and quite frankly not worth the extra
hassle in the opinion of this author). hassle in the opinion of this author).
</p> </p>
<H3><a name="Tcl_nn6"></a>34.1.4 Using your module</H3> <H3><a name="Tcl_nn6"></a>35.1.4 Using your module</H3>
<p> <p>
@ -356,7 +356,7 @@ to the default system configuration (this requires root access and you will need
the man pages). the man pages).
</p> </p>
<H3><a name="Tcl_nn7"></a>34.1.5 Compilation of C++ extensions</H3> <H3><a name="Tcl_nn7"></a>35.1.5 Compilation of C++ extensions</H3>
<p> <p>
@ -439,7 +439,7 @@ erratic program behavior. If working with lots of software components, you
might want to investigate using a more formal standard such as COM. might want to investigate using a more formal standard such as COM.
</p> </p>
<H3><a name="Tcl_nn8"></a>34.1.6 Compiling for 64-bit platforms</H3> <H3><a name="Tcl_nn8"></a>35.1.6 Compiling for 64-bit platforms</H3>
<p> <p>
@ -466,7 +466,7 @@ also introduce problems on platforms that support more than one
linking standard (e.g., -o32 and -n32 on Irix). linking standard (e.g., -o32 and -n32 on Irix).
</p> </p>
<H3><a name="Tcl_nn9"></a>34.1.7 Setting a package prefix</H3> <H3><a name="Tcl_nn9"></a>35.1.7 Setting a package prefix</H3>
<p> <p>
@ -485,7 +485,7 @@ option will append the prefix to the name when creating a command and
call it "<tt>Foo_bar</tt>". call it "<tt>Foo_bar</tt>".
</p> </p>
<H3><a name="Tcl_nn10"></a>34.1.8 Using namespaces</H3> <H3><a name="Tcl_nn10"></a>35.1.8 Using namespaces</H3>
<p> <p>
@ -507,7 +507,7 @@ When the<tt> -namespace</tt> option is used, objects in the module
are always accessed with the namespace name such as <tt>Foo::bar</tt>. are always accessed with the namespace name such as <tt>Foo::bar</tt>.
</p> </p>
<H2><a name="Tcl_nn11"></a>34.2 Building Tcl/Tk Extensions under Windows 95/NT</H2> <H2><a name="Tcl_nn11"></a>35.2 Building Tcl/Tk Extensions under Windows 95/NT</H2>
<p> <p>
@ -518,7 +518,7 @@ covers the process of using SWIG with Microsoft Visual C++.
although the procedure may be similar with other compilers. although the procedure may be similar with other compilers.
</p> </p>
<H3><a name="Tcl_nn12"></a>34.2.1 Running SWIG from Developer Studio</H3> <H3><a name="Tcl_nn12"></a>35.2.1 Running SWIG from Developer Studio</H3>
<p> <p>
@ -576,7 +576,7 @@ MSDOS &gt; tclsh80
% %
</pre></div> </pre></div>
<H3><a name="Tcl_nn13"></a>34.2.2 Using NMAKE</H3> <H3><a name="Tcl_nn13"></a>35.2.2 Using NMAKE</H3>
<p> <p>
@ -639,7 +639,7 @@ to get you started. With a little practice, you'll be making lots of
Tcl extensions. Tcl extensions.
</p> </p>
<H2><a name="Tcl_nn14"></a>34.3 A tour of basic C/C++ wrapping</H2> <H2><a name="Tcl_nn14"></a>35.3 A tour of basic C/C++ wrapping</H2>
<p> <p>
@ -650,7 +650,7 @@ classes. This section briefly covers the essential aspects of this
wrapping. wrapping.
</p> </p>
<H3><a name="Tcl_nn15"></a>34.3.1 Modules</H3> <H3><a name="Tcl_nn15"></a>35.3.1 Modules</H3>
<p> <p>
@ -684,7 +684,7 @@ To fix this, supply an extra argument to <tt>load</tt> like this:
</pre> </pre>
</div> </div>
<H3><a name="Tcl_nn16"></a>34.3.2 Functions</H3> <H3><a name="Tcl_nn16"></a>35.3.2 Functions</H3>
<p> <p>
@ -709,7 +709,7 @@ like you think it does:
% %
</pre></div> </pre></div>
<H3><a name="Tcl_nn17"></a>34.3.3 Global variables</H3> <H3><a name="Tcl_nn17"></a>35.3.3 Global variables</H3>
<p> <p>
@ -789,7 +789,7 @@ extern char *path; // Read-only (due to %immutable)
</pre> </pre>
</div> </div>
<H3><a name="Tcl_nn18"></a>34.3.4 Constants and enums</H3> <H3><a name="Tcl_nn18"></a>35.3.4 Constants and enums</H3>
<p> <p>
@ -873,7 +873,7 @@ When an identifier name is given, it is used to perform an implicit hash-table l
conversion. This allows the <tt>global</tt> statement to be omitted. conversion. This allows the <tt>global</tt> statement to be omitted.
</p> </p>
<H3><a name="Tcl_nn19"></a>34.3.5 Pointers</H3> <H3><a name="Tcl_nn19"></a>35.3.5 Pointers</H3>
<p> <p>
@ -969,7 +969,7 @@ C-style cast may return a bogus result whereas as the C++-style cast will return
<tt>None</tt> if the conversion can't be performed. <tt>None</tt> if the conversion can't be performed.
</p> </p>
<H3><a name="Tcl_nn20"></a>34.3.6 Structures</H3> <H3><a name="Tcl_nn20"></a>35.3.6 Structures</H3>
<p> <p>
@ -1251,7 +1251,7 @@ Note: Tcl only destroys the underlying object if it has ownership. See the
memory management section that appears shortly. memory management section that appears shortly.
</p> </p>
<H3><a name="Tcl_nn21"></a>34.3.7 C++ classes</H3> <H3><a name="Tcl_nn21"></a>35.3.7 C++ classes</H3>
<p> <p>
@ -1318,7 +1318,7 @@ In Tcl, the static member is accessed as follows:
</pre> </pre>
</div> </div>
<H3><a name="Tcl_nn22"></a>34.3.8 C++ inheritance</H3> <H3><a name="Tcl_nn22"></a>35.3.8 C++ inheritance</H3>
<p> <p>
@ -1367,7 +1367,7 @@ For instance:
It is safe to use multiple inheritance with SWIG. It is safe to use multiple inheritance with SWIG.
</p> </p>
<H3><a name="Tcl_nn23"></a>34.3.9 Pointers, references, values, and arrays</H3> <H3><a name="Tcl_nn23"></a>35.3.9 Pointers, references, values, and arrays</H3>
<p> <p>
@ -1421,7 +1421,7 @@ to hold the result and a pointer is returned (Tcl will release this memory
when the return value is garbage collected). when the return value is garbage collected).
</p> </p>
<H3><a name="Tcl_nn24"></a>34.3.10 C++ overloaded functions</H3> <H3><a name="Tcl_nn24"></a>35.3.10 C++ overloaded functions</H3>
<p> <p>
@ -1544,7 +1544,7 @@ first declaration takes precedence.
Please refer to the "SWIG and C++" chapter for more information about overloading. Please refer to the "SWIG and C++" chapter for more information about overloading.
</p> </p>
<H3><a name="Tcl_nn25"></a>34.3.11 C++ operators</H3> <H3><a name="Tcl_nn25"></a>35.3.11 C++ operators</H3>
<p> <p>
@ -1646,7 +1646,7 @@ There are ways to make this operator appear as part of the class using the <tt>%
Keep reading. Keep reading.
</p> </p>
<H3><a name="Tcl_nn26"></a>34.3.12 C++ namespaces</H3> <H3><a name="Tcl_nn26"></a>35.3.12 C++ namespaces</H3>
<p> <p>
@ -1710,7 +1710,7 @@ utilizes thousands of small deeply nested namespaces each with
identical symbol names, well, then you get what you deserve. identical symbol names, well, then you get what you deserve.
</p> </p>
<H3><a name="Tcl_nn27"></a>34.3.13 C++ templates</H3> <H3><a name="Tcl_nn27"></a>35.3.13 C++ templates</H3>
<p> <p>
@ -1762,7 +1762,7 @@ More details can be found in the <a href="SWIGPlus.html#SWIGPlus">SWIG and C++</
examples will appear later. examples will appear later.
</p> </p>
<H3><a name="Tcl_nn28"></a>34.3.14 C++ Smart Pointers</H3> <H3><a name="Tcl_nn28"></a>35.3.14 C++ Smart Pointers</H3>
<p> <p>
@ -1846,7 +1846,7 @@ simply use the <tt>__deref__()</tt> method. For example:
</pre> </pre>
</div> </div>
<H2><a name="Tcl_nn29"></a>34.4 Further details on the Tcl class interface</H2> <H2><a name="Tcl_nn29"></a>35.4 Further details on the Tcl class interface</H2>
<p> <p>
@ -1859,7 +1859,7 @@ of low-level details were omitted. This section provides a brief overview
of how the proxy classes work. of how the proxy classes work.
</p> </p>
<H3><a name="Tcl_nn30"></a>34.4.1 Proxy classes</H3> <H3><a name="Tcl_nn30"></a>35.4.1 Proxy classes</H3>
<p> <p>
@ -1924,7 +1924,7 @@ function. This allows objects to be encapsulated objects that look a lot like
as shown in the last section. as shown in the last section.
</p> </p>
<H3><a name="Tcl_nn31"></a>34.4.2 Memory management</H3> <H3><a name="Tcl_nn31"></a>35.4.2 Memory management</H3>
<p> <p>
@ -2112,7 +2112,7 @@ typemaps--an advanced topic discussed later.
</p> </p>
<H2><a name="Tcl_nn32"></a>34.5 Input and output parameters</H2> <H2><a name="Tcl_nn32"></a>35.5 Input and output parameters</H2>
<p> <p>
@ -2300,7 +2300,7 @@ set c [lindex $dim 1]
</pre> </pre>
</div> </div>
<H2><a name="Tcl_nn33"></a>34.6 Exception handling </H2> <H2><a name="Tcl_nn33"></a>35.6 Exception handling </H2>
<p> <p>
@ -2434,7 +2434,7 @@ Since SWIG's exception handling is user-definable, you are not limited to C++ ex
See the chapter on "<a href="Customization.html#Customization">Customization Features</a>" for more examples. See the chapter on "<a href="Customization.html#Customization">Customization Features</a>" for more examples.
</p> </p>
<H2><a name="Tcl_nn34"></a>34.7 Typemaps</H2> <H2><a name="Tcl_nn34"></a>35.7 Typemaps</H2>
<p> <p>
@ -2451,7 +2451,7 @@ Typemaps are only used if you want to change some aspect of the primitive
C-Tcl interface. C-Tcl interface.
</p> </p>
<H3><a name="Tcl_nn35"></a>34.7.1 What is a typemap?</H3> <H3><a name="Tcl_nn35"></a>35.7.1 What is a typemap?</H3>
<p> <p>
@ -2568,7 +2568,7 @@ parameter is omitted):
</pre> </pre>
</div> </div>
<H3><a name="Tcl_nn36"></a>34.7.2 Tcl typemaps</H3> <H3><a name="Tcl_nn36"></a>35.7.2 Tcl typemaps</H3>
<p> <p>
@ -2706,7 +2706,7 @@ Initialize an argument to a value before any conversions occur.
Examples of these methods will appear shortly. Examples of these methods will appear shortly.
</p> </p>
<H3><a name="Tcl_nn37"></a>34.7.3 Typemap variables</H3> <H3><a name="Tcl_nn37"></a>35.7.3 Typemap variables</H3>
<p> <p>
@ -2777,7 +2777,7 @@ properly assigned.
The Tcl name of the wrapper function being created. The Tcl name of the wrapper function being created.
</div> </div>
<H3><a name="Tcl_nn38"></a>34.7.4 Converting a Tcl list to a char ** </H3> <H3><a name="Tcl_nn38"></a>35.7.4 Converting a Tcl list to a char ** </H3>
<p> <p>
@ -2839,7 +2839,7 @@ argv[2] = Larry
3 3
</pre></div> </pre></div>
<H3><a name="Tcl_nn39"></a>34.7.5 Returning values in arguments</H3> <H3><a name="Tcl_nn39"></a>35.7.5 Returning values in arguments</H3>
<p> <p>
@ -2881,7 +2881,7 @@ result, a Tcl function using these typemaps will work like this :
% %
</pre></div> </pre></div>
<H3><a name="Tcl_nn40"></a>34.7.6 Useful functions</H3> <H3><a name="Tcl_nn40"></a>35.7.6 Useful functions</H3>
<p> <p>
@ -2958,7 +2958,7 @@ int Tcl_IsShared(Tcl_Obj *obj);
</pre> </pre>
</div> </div>
<H3><a name="Tcl_nn41"></a>34.7.7 Standard typemaps</H3> <H3><a name="Tcl_nn41"></a>35.7.7 Standard typemaps</H3>
<p> <p>
@ -3042,7 +3042,7 @@ work)
</pre> </pre>
</div> </div>
<H3><a name="Tcl_nn42"></a>34.7.8 Pointer handling</H3> <H3><a name="Tcl_nn42"></a>35.7.8 Pointer handling</H3>
<p> <p>
@ -3118,7 +3118,7 @@ For example:
</pre> </pre>
</div> </div>
<H2><a name="Tcl_nn43"></a>34.8 Turning a SWIG module into a Tcl Package.</H2> <H2><a name="Tcl_nn43"></a>35.8 Turning a SWIG module into a Tcl Package.</H2>
<p> <p>
@ -3190,7 +3190,7 @@ As a final note, most SWIG examples do not yet use the
to use the <tt>load</tt> command instead. to use the <tt>load</tt> command instead.
</p> </p>
<H2><a name="Tcl_nn44"></a>34.9 Building new kinds of Tcl interfaces (in Tcl)</H2> <H2><a name="Tcl_nn44"></a>35.9 Building new kinds of Tcl interfaces (in Tcl)</H2>
<p> <p>
@ -3289,7 +3289,7 @@ danger of blowing something up (although it is easily accomplished
with an out of bounds array access). with an out of bounds array access).
</p> </p>
<H3><a name="Tcl_nn45"></a>34.9.1 Proxy classes</H3> <H3><a name="Tcl_nn45"></a>35.9.1 Proxy classes</H3>
<p> <p>
@ -3410,7 +3410,7 @@ short, but clever Tcl script can be combined with SWIG to do many
interesting things. interesting things.
</p> </p>
<H2><a name="Tcl_nn46"></a>34.10 Tcl/Tk Stubs</H2> <H2><a name="Tcl_nn46"></a>35.10 Tcl/Tk Stubs</H2>
<p> <p>

View file

@ -30,7 +30,7 @@ Perl5.html
Php.html Php.html
Pike.html Pike.html
Python.html Python.html
R.html
Ruby.html Ruby.html
Tcl.html Tcl.html
R.html
Extending.html Extending.html