From: William F. <wsf...@us...> - 2005-09-11 20:00:49
|
Update of /cvsroot/swig/SWIG/Doc/Manual In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5467/Doc/Manual Modified Files: Contents.html Extending.html Java.html Library.html Lua.html Ruby.html SWIGPlus.html Log Message: fixes for problems reported by htmldoc and tidy Index: SWIGPlus.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/SWIGPlus.html,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** SWIGPlus.html 10 Sep 2005 21:12:35 -0000 1.26 --- SWIGPlus.html 11 Sep 2005 20:00:39 -0000 1.27 *************** *** 778,782 **** SWIG wraps class members that are public following the C++ conventions, i.e., by explicit public declaration or by the use of ! the <tt using</tt> directive. In general, anything specified in a private or protected section will be ignored, although the internal code generator sometimes looks at the contents of the private and --- 778,782 ---- SWIG wraps class members that are public following the C++ conventions, i.e., by explicit public declaration or by the use of ! the <tt> using</tt> directive. In general, anything specified in a private or protected section will be ignored, although the internal code generator sometimes looks at the contents of the private and Index: Extending.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/Extending.html,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** Extending.html 18 Jul 2005 06:26:19 -0000 1.20 --- Extending.html 11 Sep 2005 20:00:39 -0000 1.21 *************** *** 7,11 **** <body bgcolor="#ffffff"> ! <H1><a name="Extending"></a>29 Extending SWIG</H1> <!-- INDEX --> <div class="sectiontoc"> --- 7,11 ---- <body bgcolor="#ffffff"> ! <H1><a name="Extending"></a>30 Extending SWIG</H1> <!-- INDEX --> <div class="sectiontoc"> *************** *** 76,80 **** </p> ! <H2><a name="Extending_nn2"></a>29.1 Introduction</H2> --- 76,80 ---- </p> ! <H2><a name="Extending_nn2"></a>30.1 Introduction</H2> *************** *** 92,96 **** </p> ! <H2><a name="Extending_nn3"></a>29.2 Prerequisites</H2> --- 92,96 ---- </p> ! <H2><a name="Extending_nn3"></a>30.2 Prerequisites</H2> *************** *** 122,126 **** </p> ! <H2><a name="Extending_nn4"></a>29.3 The Big Picture</H2> --- 122,126 ---- </p> ! <H2><a name="Extending_nn4"></a>30.3 The Big Picture</H2> *************** *** 159,163 **** </p> ! <H2><a name="Extending_nn5"></a>29.4 Execution Model</H2> --- 159,163 ---- </p> ! <H2><a name="Extending_nn5"></a>30.4 Execution Model</H2> *************** *** 204,208 **** </p> ! <H3><a name="Extending_nn6"></a>29.4.1 Preprocessing</H3> --- 204,208 ---- </p> ! <H3><a name="Extending_nn6"></a>30.4.1 Preprocessing</H3> *************** *** 284,288 **** </p> ! <H3><a name="Extending_nn7"></a>29.4.2 Parsing</H3> --- 284,288 ---- </p> ! <H3><a name="Extending_nn7"></a>30.4.2 Parsing</H3> *************** *** 385,389 **** </p> ! <H3><a name="Extending_nn8"></a>29.4.3 Parse Trees</H3> --- 385,389 ---- </p> ! <H3><a name="Extending_nn8"></a>30.4.3 Parse Trees</H3> *************** *** 637,641 **** </div> ! <H3><a name="Extending_nn9"></a>29.4.4 Attribute namespaces</H3> --- 637,641 ---- </div> ! <H3><a name="Extending_nn9"></a>30.4.4 Attribute namespaces</H3> *************** *** 656,660 **** </p> ! <H3><a name="Extending_nn10"></a>29.4.5 Symbol Tables</H3> --- 656,660 ---- </p> ! <H3><a name="Extending_nn10"></a>30.4.5 Symbol Tables</H3> *************** *** 744,748 **** </div> ! <H3><a name="Extending_nn11"></a>29.4.6 The %feature directive</H3> --- 744,748 ---- </div> ! <H3><a name="Extending_nn11"></a>30.4.6 The %feature directive</H3> *************** *** 800,804 **** </p> ! <H3><a name="Extending_nn12"></a>29.4.7 Code Generation</H3> --- 800,804 ---- </p> ! <H3><a name="Extending_nn12"></a>30.4.7 Code Generation</H3> *************** *** 922,926 **** </p> ! <H3><a name="Extending_nn13"></a>29.4.8 SWIG and XML</H3> --- 922,926 ---- </p> ! <H3><a name="Extending_nn13"></a>30.4.8 SWIG and XML</H3> *************** *** 935,939 **** </p> ! <H2><a name="Extending_nn14"></a>29.5 Primitive Data Structures</H2> --- 935,939 ---- </p> ! <H2><a name="Extending_nn14"></a>30.5 Primitive Data Structures</H2> *************** *** 981,985 **** </div> ! <H3><a name="Extending_nn15"></a>29.5.1 Strings</H3> --- 981,985 ---- </div> ! <H3><a name="Extending_nn15"></a>30.5.1 Strings</H3> *************** *** 1122,1126 **** </div> ! <H3><a name="Extending_nn16"></a>29.5.2 Hashes</H3> --- 1122,1126 ---- </div> ! <H3><a name="Extending_nn16"></a>30.5.2 Hashes</H3> *************** *** 1199,1203 **** ! <H3><a name="Extending_nn17"></a>29.5.3 Lists</H3> --- 1199,1203 ---- ! <H3><a name="Extending_nn17"></a>30.5.3 Lists</H3> *************** *** 1288,1292 **** </div> ! <H3><a name="Extending_nn18"></a>29.5.4 Common operations</H3> --- 1288,1292 ---- </div> ! <H3><a name="Extending_nn18"></a>30.5.4 Common operations</H3> *************** *** 1343,1347 **** </div> ! <H3><a name="Extending_nn19"></a>29.5.5 Iterating over Lists and Hashes</H3> --- 1343,1347 ---- </div> ! <H3><a name="Extending_nn19"></a>30.5.5 Iterating over Lists and Hashes</H3> *************** *** 1388,1392 **** </div> ! <H3><a name="Extending_nn20"></a>29.5.6 I/O</H3> --- 1388,1392 ---- </div> ! <H3><a name="Extending_nn20"></a>30.5.6 I/O</H3> *************** *** 1524,1528 **** </div> ! <H2><a name="Extending_nn21"></a>29.6 Navigating and manipulating parse trees</H2> --- 1524,1528 ---- </div> ! <H2><a name="Extending_nn21"></a>30.6 Navigating and manipulating parse trees</H2> *************** *** 1658,1662 **** </div> ! <H2><a name="Extending_nn22"></a>29.7 Working with attributes</H2> --- 1658,1662 ---- </div> ! <H2><a name="Extending_nn22"></a>30.7 Working with attributes</H2> *************** *** 1775,1779 **** </div> ! <H2><a name="Extending_nn23"></a>29.8 Type system</H2> --- 1775,1779 ---- </div> ! <H2><a name="Extending_nn23"></a>30.8 Type system</H2> *************** *** 1784,1788 **** </p> ! <H3><a name="Extending_nn24"></a>29.8.1 String encoding of types</H3> --- 1784,1788 ---- </p> ! <H3><a name="Extending_nn24"></a>30.8.1 String encoding of types</H3> *************** *** 1885,1889 **** </p> ! <H3><a name="Extending_nn25"></a>29.8.2 Type construction</H3> --- 1885,1889 ---- </p> ! <H3><a name="Extending_nn25"></a>30.8.2 Type construction</H3> *************** *** 1954,1958 **** <div class="indent"> ! Sets <tt>n</tt>th array dimensions of <tt>ty</tt> to <tt>rep</tty>. </div> --- 1954,1958 ---- <div class="indent"> ! Sets <tt>n</tt>th array dimensions of <tt>ty</tt> to <tt>rep</tt>. </div> *************** *** 2054,2058 **** </div> ! <H3><a name="Extending_nn26"></a>29.8.3 Type tests</H3> --- 2054,2058 ---- </div> ! <H3><a name="Extending_nn26"></a>30.8.3 Type tests</H3> *************** *** 2141,2145 **** </div> ! <H3><a name="Extending_nn27"></a>29.8.4 Typedef and inheritance</H3> --- 2141,2145 ---- </div> ! <H3><a name="Extending_nn27"></a>30.8.4 Typedef and inheritance</H3> *************** *** 2243,2247 **** </div> ! <H3><a name="Extending_nn28"></a>29.8.5 Lvalues</H3> --- 2243,2247 ---- </div> ! <H3><a name="Extending_nn28"></a>30.8.5 Lvalues</H3> *************** *** 2280,2284 **** </div> ! <H3><a name="Extending_nn29"></a>29.8.6 Output functions</H3> --- 2280,2284 ---- </div> ! <H3><a name="Extending_nn29"></a>30.8.6 Output functions</H3> *************** *** 2342,2346 **** </div> ! <H2><a name="Extending_nn30"></a>29.9 Parameters</H2> --- 2342,2346 ---- </div> ! <H2><a name="Extending_nn30"></a>30.9 Parameters</H2> *************** *** 2441,2445 **** </div> ! <H2><a name="Extending_nn31"></a>29.10 Writing a Language Module</H2> --- 2441,2445 ---- </div> ! <H2><a name="Extending_nn31"></a>30.10 Writing a Language Module</H2> *************** *** 2452,2456 **** </p> ! <H3><a name="Extending_nn32"></a>29.10.1 Execution model</H3> --- 2452,2456 ---- </p> ! <H3><a name="Extending_nn32"></a>30.10.1 Execution model</H3> *************** *** 2462,2466 **** </p> ! <H3><a name="Extending_nn33"></a>29.10.2 Starting out</H3> --- 2462,2466 ---- </p> ! <H3><a name="Extending_nn33"></a>30.10.2 Starting out</H3> *************** *** 2575,2579 **** </p> ! <H3><a name="Extending_nn34"></a>29.10.3 Command line options</H3> --- 2575,2579 ---- </p> ! <H3><a name="Extending_nn34"></a>30.10.3 Command line options</H3> *************** *** 2634,2638 **** </p> ! <H3><a name="Extending_nn35"></a>29.10.4 Configuration and preprocessing</H3> --- 2634,2638 ---- </p> ! <H3><a name="Extending_nn35"></a>30.10.4 Configuration and preprocessing</H3> *************** *** 2683,2687 **** </p> ! <H3><a name="Extending_nn36"></a>29.10.5 Entry point to code generation</H3> --- 2683,2687 ---- </p> ! <H3><a name="Extending_nn36"></a>30.10.5 Entry point to code generation</H3> *************** *** 2741,2751 **** </div> ! <H3><a name="Extending_nn37"></a>29.10.6 Module I/O and wrapper skeleton</H3> ! <H3><a name="Extending_nn38"></a>29.10.7 Low-level code generators</H3> ! <H3><a name="Extending_nn39"></a>29.10.8 Configuration files</H3> --- 2741,2751 ---- </div> ! <H3><a name="Extending_nn37"></a>30.10.6 Module I/O and wrapper skeleton</H3> ! <H3><a name="Extending_nn38"></a>30.10.7 Low-level code generators</H3> ! <H3><a name="Extending_nn39"></a>30.10.8 Configuration files</H3> *************** *** 2902,2906 **** raise the issue in the context of a next-generation clean-slate SWIG. ! <H3><a name="Extending_nn40"></a>29.10.9 Runtime support</H3> --- 2902,2906 ---- raise the issue in the context of a next-generation clean-slate SWIG. ! <H3><a name="Extending_nn40"></a>30.10.9 Runtime support</H3> *************** *** 2911,2915 **** </p> ! <H3><a name="Extending_nn41"></a>29.10.10 Standard library files</H3> --- 2911,2915 ---- </p> ! <H3><a name="Extending_nn41"></a>30.10.10 Standard library files</H3> *************** *** 2925,2929 **** </ul> ! <H3><a name="Extending_nn42"></a>29.10.11 Examples and test cases</H3> --- 2925,2929 ---- </ul> ! <H3><a name="Extending_nn42"></a>30.10.11 Examples and test cases</H3> *************** *** 2952,2956 **** </p> ! <H3><a name="Extending_nn43"></a>29.10.12 Documentation</H3> --- 2952,2956 ---- </p> ! <H3><a name="Extending_nn43"></a>30.10.12 Documentation</H3> *************** *** 2984,2994 **** </ul> ! <H2><a name="Extending_nn44"></a>29.11 Typemaps</H2> ! <H3><a name="Extending_nn45"></a>29.11.1 Proxy classes</H3> ! <H2><a name="Extending_nn46"></a>29.12 Guide to parse tree nodes</H2> --- 2984,2994 ---- </ul> ! <H2><a name="Extending_nn44"></a>30.11 Typemaps</H2> ! <H3><a name="Extending_nn45"></a>30.11.1 Proxy classes</H3> ! <H2><a name="Extending_nn46"></a>30.12 Guide to parse tree nodes</H2> Index: Ruby.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/Ruby.html,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Ruby.html 11 Sep 2005 00:45:36 -0000 1.29 --- Ruby.html 11 Sep 2005 20:00:39 -0000 1.30 *************** *** 15,354 **** ! <h1><a name="Ruby"></a>27 SWIG and Ruby</h1> ! ! <!-- INDEX --> <div class="sectiontoc"> <ul> ! ! ! <li><a href="#Ruby_nn2">Preliminaries</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn3">Running SWIG</a> ! </li> ! ! ! <li><a href="#Ruby_nn4">Getting the right ! header files</a> ! </li> ! ! ! <li><a href="#Ruby_nn5">Compiling a dynamic ! module</a> ! </li> ! ! ! <li><a href="#Ruby_nn6">Using your module</a> ! </li> ! ! ! <li><a href="#Ruby_nn7">Static linking</a> ! </li> ! ! ! <li><a href="#Ruby_nn8">Compilation of C++ ! extensions</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li><a href="#Ruby_nn9">Building Ruby Extensions ! under Windows 95/NT</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn10">Running SWIG from ! Developer Studio</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li><a href="#Ruby_nn11">The Ruby-to-C/C++ Mapping</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn12">Modules</a> ! </li> ! ! ! <li><a href="#Ruby_nn13">Functions</a> ! </li> ! ! ! <li><a href="#Ruby_nn14">Variable Linking</a> ! </li> ! ! ! <li><a href="#Ruby_nn15">Constants</a> ! </li> ! ! ! <li><a href="#Ruby_nn16">Pointers</a> ! </li> ! ! ! <li><a href="#Ruby_nn17">Structures</a> ! </li> ! ! ! <li><a href="#Ruby_nn18">C++ classes</a> ! </li> ! ! ! <li><a href="#Ruby_nn19">C++ Inheritance</a> ! </li> ! ! ! <li><a href="#Ruby_nn20">C++ Overloaded ! Functions</a> ! </li> ! ! ! <li><a href="#Ruby_nn21">C++ Operators</a> ! </li> ! ! ! <li><a href="#Ruby_nn22">C++ namespaces</a> ! </li> ! ! ! <li><a href="#Ruby_nn23">C++ templates</a> ! </li> ! ! ! <li><a href="#ruby_cpp_smart_pointers">C++ ! Smart Pointers</a> ! </li> ! ! ! <li><a href="#Ruby_nn25">Cross-Language ! Polymorphism</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn26">Exception ! Unrolling</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li><a href="#Ruby_nn27">Input and output ! parameters</a> ! </li> ! ! ! <li><a href="#Ruby_nn28">Simple exception handling ! </a></li> ! ! ! <li><a href="#Ruby_nn29">Typemaps</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn30">What is a typemap?</a> ! </li> ! ! ! <li><a href="#Ruby_nn31">Ruby typemaps</a> ! </li> ! ! ! <li><a href="#Ruby_nn32">Typemap variables</a> ! </li> ! ! ! <li><a href="#Ruby_nn33">Useful Functions</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn34">C Datatypes to ! Ruby Objects</a> ! </li> ! ! ! <li><a href="#Ruby_nn35">Ruby Objects to C ! Datatypes</a> ! </li> ! ! ! <li><a href="#Ruby_nn36">Macros for VALUE</a> ! </li> ! ! ! <li><a href="#Ruby_nn37">Exceptions</a> ! </li> ! ! ! <li><a href="#Ruby_nn38">Iterators</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li><a href="#ruby_typemap_examples">Typemap ! Examples</a> ! </li> ! ! ! <li><a href="#Ruby_nn40">Converting a Ruby ! array to a char **</a> ! </li> ! ! ! <li><a href="#Ruby_nn41">Collecting arguments ! in a hash</a> ! </li> ! ! ! <li><a href="#Ruby_nn42">Pointer handling</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn43">Ruby Datatype ! Wrapping</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li><a href="#ruby_operator_overloading">Operator ! overloading</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn45">Example: STL Vector ! to Ruby Array</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li><a href="#Ruby_nn46">Advanced Topics</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn47">Creating Multi-Module ! Packages</a> ! </li> ! ! ! <li><a href="#Ruby_nn48">Defining Aliases</a> ! </li> ! ! ! <li><a href="#Ruby_nn49">Predicate Methods</a> ! </li> ! ! ! <li><a href="#Ruby_nn50">Specifying Mixin ! Modules</a> ! </li> ! ! ! ! </ul> ! ! ! </li> ! ! ! <li> ! <a href="#Ruby_nn51">Memory Management</a> ! ! <ul> ! ! ! <li><a href="#Ruby_nn52">Mark and Sweep ! Garbage Collector</a> ! </li> ! ! ! <li><a href="#Ruby_nn53">Object Ownership</a> ! </li> ! ! ! <li><a href="#Ruby_nn54">Free Functions</a> ! </li> ! ! ! <li><a href="#Ruby_nn55">Mark Functions</a></li> ! ! ! ! </ul> ! ! ! </li> ! ! </ul> - - </div> - <!-- INDEX --> <p>This chapter describes SWIG's support of Ruby. </p> ! <h2><a name="Ruby_nn2"></a>27.1 Preliminaries</h2> --- 15,47 ---- ! <H1><a name="Ruby"></a>27 SWIG and Ruby</H1> <!-- INDEX --> <div class="sectiontoc"> <ul> ! <li><a href="#Ruby_nn2">Preliminaries</a> ! <ul> ! <li><a href="#Ruby_nn3">Running SWIG</a> ! <li><a href="#Ruby_nn12">Modules</a> ! <li><a href="#Ruby_nn13">Functions</a> ! <li><a href="#Ruby_nn15">Constants</a> ! <li><a href="#Ruby_nn16">Pointers</a> ! <li><a href="#Ruby_nn17">Structures</a> ! <li><a href="#Ruby_nn18">C++ classes</a> ! </ul> ! <li><a href="#Ruby_nn29">Typemaps</a> ! <ul> ! <li><a href="#Ruby_nn37">Exceptions</a> ! <li><a href="#Ruby_nn38">Iterators</a> ! </ul> </ul> </div> + <!-- INDEX --> + <p>This chapter describes SWIG's support of Ruby. </p> ! <H2><a name="Ruby_nn2"></a>27.1 Preliminaries</H2> *************** *** 374,378 **** ! <h3><a name="Ruby_nn3"></a>27.1.1 Running SWIG</h3> --- 67,71 ---- ! <H3><a name="Ruby_nn3"></a>27.1.1 Running SWIG</H3> *************** *** 439,445 **** <div class="code"> ! <pre>$ <b>ruby -e 'puts $:.join("\n")'</b><br>/usr/local/lib/ruby/site_ruby/1.6 /usr/local/lib/ruby/site_ruby/1.6/i686-linux /usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/1.6 /usr/local/lib/ruby/1.6/i686-linux . </pre> ! ! </div> --- 132,139 ---- <div class="code"> ! <pre> ! $ <b>ruby -e 'puts $:.join("\n")'</b><br>/usr/local/lib/ruby/site_ruby/1.6 /usr/local/lib/ruby/site_ruby/1.6/i686-linux ! /usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/1.6 /usr/local/lib/ruby/1.6/i686-linux . ! </pre> </div> *************** *** 849,853 **** ! <h3><a name="Ruby_nn12"></a>27.3.1 Modules</h3> --- 543,547 ---- ! <H3><a name="Ruby_nn12"></a>27.1.2 Modules</H3> *************** *** 974,978 **** ! <h3><a name="Ruby_nn13"></a>27.3.2 Functions</h3> --- 668,672 ---- ! <H3><a name="Ruby_nn13"></a>27.1.3 Functions</H3> *************** *** 1090,1094 **** ! <h3><a name="Ruby_nn15"></a>27.3.4 Constants</h3> --- 784,788 ---- ! <H3><a name="Ruby_nn15"></a>27.1.4 Constants</H3> *************** *** 1121,1125 **** ! <h3><a name="Ruby_nn16"></a>27.3.5 Pointers</h3> --- 815,819 ---- ! <H3><a name="Ruby_nn16"></a>27.1.5 Pointers</H3> *************** *** 1161,1165 **** ! <h3><a name="Ruby_nn17"></a>27.3.6 Structures</h3> --- 855,859 ---- ! <H3><a name="Ruby_nn17"></a>27.1.6 Structures</H3> *************** *** 1296,1300 **** ! <h3><a name="Ruby_nn18"></a>27.3.7 C++ classes</h3> --- 990,994 ---- ! <H3><a name="Ruby_nn18"></a>27.1.7 C++ classes</H3> *************** *** 2262,2266 **** ! <h2><a name="Ruby_nn29"></a>27.6 Typemaps</h2> --- 1956,1960 ---- ! <H2><a name="Ruby_nn29"></a>27.2 Typemaps</H2> *************** *** 2718,2722 **** ! <h4><a name="Ruby_nn37"></a>27.6.4.4 Exceptions</h4> --- 2412,2416 ---- ! <H4><a name="Ruby_nn37"></a>27.2.0.1 Exceptions</H4> *************** *** 2839,2843 **** ! <h4><a name="Ruby_nn38"></a>27.6.4.5 Iterators</h4> --- 2533,2537 ---- ! <H4><a name="Ruby_nn38"></a>27.2.0.2 Iterators</H4> Index: Java.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/Java.html,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** Java.html 28 Jun 2005 21:32:39 -0000 1.43 --- Java.html 11 Sep 2005 20:00:39 -0000 1.44 *************** *** 6005,6009 **** </ul> ! <H3><a name="struct_pointer_pointer"></a>Struct pointer to pointer</H3> <p> Pointers to pointers are often used as output parameters in C factory type functions. --- 6005,6011 ---- </ul> ! <H3><a name="struct_pointer_pointer"></a>19.9.10 Struct pointer to pointer</H3> ! ! <p> Pointers to pointers are often used as output parameters in C factory type functions. *************** *** 6104,6108 **** // Typemaps for Butler ** as a parameter output type %typemap(in) Butler ** (Butler *ppButler = 0) %{ ! $1 = &ppButler; %} %typemap(argout) Butler ** { --- 6106,6110 ---- // Typemaps for Butler ** as a parameter output type %typemap(in) Butler ** (Butler *ppButler = 0) %{ ! $1 = &ppButler; %} %typemap(argout) Butler ** { Index: Contents.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/Contents.html,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** Contents.html 2 Jun 2005 21:44:55 -0000 1.25 --- Contents.html 11 Sep 2005 20:00:39 -0000 1.26 *************** *** 162,166 **** <li><a href="SWIG.html#SWIG_nn35">Structure data members</a> <li><a href="SWIG.html#SWIG_nn36">C constructors and destructors </a> ! <li><a href="SWIG.html#SWIG_nn37">Adding member functions to C structures</a> <li><a href="SWIG.html#SWIG_nn38">Nested structures</a> <li><a href="SWIG.html#SWIG_nn39">Other things to note about structure wrapping</a> --- 162,166 ---- <li><a href="SWIG.html#SWIG_nn35">Structure data members</a> <li><a href="SWIG.html#SWIG_nn36">C constructors and destructors </a> ! <li><a href="SWIG.html#SWIG_adding_member_functions">Adding member functions to C structures</a> <li><a href="SWIG.html#SWIG_nn38">Nested structures</a> <li><a href="SWIG.html#SWIG_nn39">Other things to note about structure wrapping</a> *************** *** 279,286 **** <li><a href="Library.html#Library_nn12">cstring.i</a> </ul> ! <li><a href="Library.html#Library_nn13">C++ Library</a> <ul> <li><a href="Library.html#Library_nn14">std_string.i</a> <li><a href="Library.html#Library_nn15">std_vector.i</a> </ul> <li><a href="Library.html#Library_nn16">Utility Libraries</a> --- 279,287 ---- <li><a href="Library.html#Library_nn12">cstring.i</a> </ul> ! <li><a href="Library.html#Library_stl_cpp_library">STL/C++ Library</a> <ul> <li><a href="Library.html#Library_nn14">std_string.i</a> <li><a href="Library.html#Library_nn15">std_vector.i</a> + <li><a href="Library.html#Library_stl_exceptions">STL exceptions</a> </ul> <li><a href="Library.html#Library_nn16">Utility Libraries</a> *************** *** 688,691 **** --- 689,693 ---- <li><a href="Java.html#adding_equals_method">Adding an equals method to the Java classes</a> <li><a href="Java.html#void_pointers">Void pointers and a common Java base class</a> + <li><a href="Java.html#struct_pointer_pointer">Struct pointer to pointer</a> </ul> <li><a href="Java.html#java_directors_faq">Living with Java Directors</a> *************** *** 1029,1097 **** <ul> <li><a href="Ruby.html#Ruby_nn3">Running SWIG</a> - <li><a href="Ruby.html#Ruby_nn4">Getting the right header files</a> - <li><a href="Ruby.html#Ruby_nn5">Compiling a dynamic module</a> - <li><a href="Ruby.html#Ruby_nn6">Using your module</a> - <li><a href="Ruby.html#Ruby_nn7">Static linking</a> - <li><a href="Ruby.html#Ruby_nn8">Compilation of C++ extensions</a> - </ul> - <li><a href="Ruby.html#Ruby_nn9">Building Ruby Extensions under Windows 95/NT</a> - <ul> - <li><a href="Ruby.html#Ruby_nn10">Running SWIG from Developer Studio</a> - </ul> - <li><a href="Ruby.html#Ruby_nn11">The Ruby-to-C/C++ Mapping</a> - <ul> <li><a href="Ruby.html#Ruby_nn12">Modules</a> <li><a href="Ruby.html#Ruby_nn13">Functions</a> - <li><a href="Ruby.html#Ruby_nn14">Variable Linking</a> <li><a href="Ruby.html#Ruby_nn15">Constants</a> <li><a href="Ruby.html#Ruby_nn16">Pointers</a> <li><a href="Ruby.html#Ruby_nn17">Structures</a> <li><a href="Ruby.html#Ruby_nn18">C++ classes</a> - <li><a href="Ruby.html#Ruby_nn19">C++ Inheritance</a> - <li><a href="Ruby.html#Ruby_nn20">C++ Overloaded Functions</a> - <li><a href="Ruby.html#Ruby_nn21">C++ Operators</a> - <li><a href="Ruby.html#Ruby_nn22">C++ namespaces</a> - <li><a href="Ruby.html#Ruby_nn23">C++ templates</a> - <li><a href="Ruby.html#ruby_cpp_smart_pointers">C++ Smart Pointers</a> - <li><a href="Ruby.html#Ruby_nn25">Cross-Language Polymorphism</a> - <ul> - <li><a href="Ruby.html#Ruby_nn26">Exception Unrolling</a> - </ul> </ul> - <li><a href="Ruby.html#Ruby_nn27">Input and output parameters</a> - <li><a href="Ruby.html#Ruby_nn28">Simple exception handling </a> <li><a href="Ruby.html#Ruby_nn29">Typemaps</a> <ul> - <li><a href="Ruby.html#Ruby_nn30">What is a typemap?</a> - <li><a href="Ruby.html#Ruby_nn31">Ruby typemaps</a> - <li><a href="Ruby.html#Ruby_nn32">Typemap variables</a> - <li><a href="Ruby.html#Ruby_nn33">Useful Functions</a> - <ul> - <li><a href="Ruby.html#Ruby_nn34">C Datatypes to Ruby Objects</a> - <li><a href="Ruby.html#Ruby_nn35">Ruby Objects to C Datatypes</a> - <li><a href="Ruby.html#Ruby_nn36">Macros for VALUE</a> <li><a href="Ruby.html#Ruby_nn37">Exceptions</a> <li><a href="Ruby.html#Ruby_nn38">Iterators</a> </ul> - <li><a href="Ruby.html#ruby_typemap_examples">Typemap Examples</a> - <li><a href="Ruby.html#Ruby_nn40">Converting a Ruby array to a char **</a> - <li><a href="Ruby.html#Ruby_nn41">Collecting arguments in a hash</a> - <li><a href="Ruby.html#Ruby_nn42">Pointer handling</a> - <ul> - <li><a href="Ruby.html#Ruby_nn43">Ruby Datatype Wrapping</a> - </ul> - </ul> - <li><a href="Ruby.html#ruby_operator_overloading">Operator overloading</a> - <ul> - <li><a href="Ruby.html#Ruby_nn45">Example: STL Vector to Ruby Array</a> - </ul> - <li><a href="Ruby.html#Ruby_nn46">Advanced Topics</a> - <ul> - <li><a href="Ruby.html#Ruby_nn47">Creating Multi-Module Packages</a> - <li><a href="Ruby.html#Ruby_nn48">Defining Aliases</a> - <li><a href="Ruby.html#Ruby_nn49">Predicate Methods</a> - <li><a href="Ruby.html#Ruby_nn50">Specifying Mixin Modules</a> - <li><a href="Ruby.html#Ruby_nn51">Interacting with Ruby's Garbage Collector</a> - </ul> </ul> </div> --- 1031,1046 ---- *************** *** 1163,1167 **** <!-- INDEX --> ! <h3><a href="Extending.html#Extending">29 Extending SWIG</a></h3> <!-- INDEX --> --- 1112,1155 ---- <!-- INDEX --> ! <h3><a href="Lua.html#Lua">29 SWIG and Lua</a></h3> ! ! <!-- INDEX --> ! <div class="sectiontoc"> ! <ul> ! <li><a href="Lua.html#Lua_nn2">Preliminaries</a> ! <li><a href="Lua.html#Lua_nn3">Running SWIG</a> ! <ul> ! <li><a href="Lua.html#Lua_nn4">Compiling and Linking and Interpreter</a> ! <li><a href="Lua.html#Lua_nn5">Compiling a dynamic module</a> ! <li><a href="Lua.html#Lua_nn6">Using your module</a> ! </ul> ! <li><a href="Lua.html#Lua_nn7">A tour of basic C/C++ wrapping</a> ! <ul> ! <li><a href="Lua.html#Lua_nn8">Modules</a> ! <li><a href="Lua.html#Lua_nn9">Functions</a> ! <li><a href="Lua.html#Lua_nn10">Global variables</a> ! <li><a href="Lua.html#Lua_nn11">Constants and enums</a> ! <li><a href="Lua.html#Lua_nn12">Pointers</a> ! <li><a href="Lua.html#Lua_nn13">Structures</a> ! <li><a href="Lua.html#Lua_nn14">C++ classes</a> ! <li><a href="Lua.html#Lua_nn15">C++ inheritance</a> ! <li><a href="Lua.html#Lua_nn16">Pointers, references, values, and arrays</a> ! <li><a href="Lua.html#Lua_nn17">C++ overloaded functions</a> ! <li><a href="Lua.html#Lua_nn18">C++ operators</a> ! <li><a href="Lua.html#Lua_nn19">Class extension with %extend</a> ! <li><a href="Lua.html#Lua_nn20">C++ templates</a> ! <li><a href="Lua.html#Lua_nn21">C++ Smart Pointers</a> ! </ul> ! <li><a href="Lua.html#Lua_nn22">Details on the Lua binding</a> ! <ul> ! <li><a href="Lua.html#Lua_nn23">Binding global data into the module.</a> ! <li><a href="Lua.html#Lua_nn24">Userdata and Metatables</a> ! <li><a href="Lua.html#Lua_nn25">Memory management</a> ! </ul> ! </ul> ! </div> ! <!-- INDEX --> ! ! <h3><a href="Extending.html#Extending">30 Extending SWIG</a></h3> <!-- INDEX --> Index: Lua.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/Lua.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Lua.html 15 Aug 2005 20:51:46 -0000 1.1 --- Lua.html 11 Sep 2005 20:00:39 -0000 1.2 *************** *** 35,39 **** <li><a href="#Lua_nn21">C++ Smart Pointers</a> </ul> ! <li><a href="#Lua_nn22">details on the Lua class interface</a> <ul> <li><a href="#Lua_nn23">Binding global data into the module.</a> --- 35,39 ---- <li><a href="#Lua_nn21">C++ Smart Pointers</a> </ul> ! <li><a href="#Lua_nn22">Details on the Lua binding</a> <ul> [...1421 lines suppressed...] Lua is very helpful with the memory management. The 'swig_lua_userdata' is fully managed by the interpreter itself. This means that neither the C code nor the Lua code can damage it. Once a piece of userdata has no references to it, it is not instantly collected, but will be collected when Lua deems is necessary. (You can force collection by calling the Lua function <tt>collectgarbage()</tt>). Once the userdata is about to be free'ed, the interpreter will check the userdata for a metatable and for a function '__gc'. If this exists this is called. For all complete types (ie normal wrappered classes & structs) this should exist. The '__gc' function will check the 'swig_lua_userdata' to check for the 'own' field and if this is true (which is will be for all owned data's) it will then call the destructor on the pointer. <p> It is currently not recommended to edit this field or add some user code, to change the behaviour. Though for those who wish to try, here is where to look. <p> ! Is is also currently not possible to change the ownership flag on the data (unlike most other scripting languages, Lua does not permit access to the data from within the interpreter) ! <p> </body> </html> --- 1046,1056 ---- <p> Lua is very helpful with the memory management. The 'swig_lua_userdata' is fully managed by the interpreter itself. This means that neither the C code nor the Lua code can damage it. Once a piece of userdata has no references to it, it is not instantly collected, but will be collected when Lua deems is necessary. (You can force collection by calling the Lua function <tt>collectgarbage()</tt>). Once the userdata is about to be free'ed, the interpreter will check the userdata for a metatable and for a function '__gc'. If this exists this is called. For all complete types (ie normal wrappered classes & structs) this should exist. The '__gc' function will check the 'swig_lua_userdata' to check for the 'own' field and if this is true (which is will be for all owned data's) it will then call the destructor on the pointer. + </p> <p> It is currently not recommended to edit this field or add some user code, to change the behaviour. Though for those who wish to try, here is where to look. + </p> <p> ! It is also currently not possible to change the ownership flag on the data (unlike most other scripting languages, Lua does not permit access to the data from within the interpreter) ! </p> </body> </html> Index: Library.html =================================================================== RCS file: /cvsroot/swig/SWIG/Doc/Manual/Library.html,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Library.html 27 Jul 2005 20:28:54 -0000 1.13 --- Library.html 11 Sep 2005 20:00:39 -0000 1.14 *************** *** 30,33 **** --- 30,34 ---- <li><a href="#Library_nn14">std_string.i</a> <li><a href="#Library_nn15">std_vector.i</a> + <li><a href="#Library_stl_exceptions">STL exceptions</a> </ul> <li><a href="#Library_nn16">Utility Libraries</a> *************** *** 1624,1628 **** ! <H3><a name="Library_stl_exceptions"></a>STL exceptions</H3> <p> Many of the STL wrapper functions add parameter checking and will throw a language dependent error/exception --- 1625,1631 ---- ! <H3><a name="Library_stl_exceptions"></a>8.4.3 STL exceptions</H3> ! ! <p> Many of the STL wrapper functions add parameter checking and will throw a language dependent error/exception *************** *** 1641,1645 **** // custom exception handler } ! %template(VectInt) std::vector<int>; </pre> </div> --- 1644,1648 ---- // custom exception handler } ! %template(VectInt) std::vector<int>; </pre> </div> |