From: <wsf...@us...> - 2010-03-06 20:43:04
|
Revision: 11922 http://swig.svn.sourceforge.net/swig/?rev=11922&view=rev Author: wsfulton Date: 2010-03-06 20:42:53 +0000 (Sat, 06 Mar 2010) Log Message: ----------- Correctly mangle the html section names to prevent name clashes in the pdf document Modified Paths: -------------- trunk/Doc/Manual/CSharp.html trunk/Doc/Manual/Contents.html trunk/Doc/Manual/Customization.html trunk/Doc/Manual/Java.html trunk/Doc/Manual/Modula3.html Modified: trunk/Doc/Manual/CSharp.html =================================================================== --- trunk/Doc/Manual/CSharp.html 2010-03-06 19:35:25 UTC (rev 11921) +++ trunk/Doc/Manual/CSharp.html 2010-03-06 20:42:53 UTC (rev 11922) @@ -9,35 +9,35 @@ <!-- INDEX --> <div class="sectiontoc"> <ul> -<li><a href="#csharp_introduction">Introduction</a> -<li><a href="#csharp_differences_java">Differences to the Java module</a> +<li><a href="#CSharp_introduction">Introduction</a> +<li><a href="#CSharp_differences_java">Differences to the Java module</a> <li><a href="#CSharp_arrays">C# Arrays</a> <ul> <li><a href="#CSharp_arrays_swig_library">The SWIG C arrays library</a> <li><a href="#CSharp_arrays_pinvoke_default_array_marshalling">Managed arrays using P/Invoke default array marshalling</a> <li><a href="#CSharp_arrays_pinning">Managed arrays using pinning</a> </ul> -<li><a href="#csharp_exceptions">C# Exceptions</a> +<li><a href="#CSharp_exceptions">C# Exceptions</a> <ul> -<li><a href="#csharp_exception_example_check_typemap">C# exception example using "check" typemap</a> -<li><a href="#csharp_exception_example_percent_exception">C# exception example using %exception</a> -<li><a href="#csharp_exception_example_exception_specifications">C# exception example using exception specifications</a> -<li><a href="#csharp_custom_application_exception">Custom C# ApplicationException example</a> +<li><a href="#CSharp_exception_example_check_typemap">C# exception example using "check" typemap</a> +<li><a href="#CSharp_exception_example_percent_exception">C# exception example using %exception</a> +<li><a href="#CSharp_exception_example_exception_specifications">C# exception example using exception specifications</a> +<li><a href="#CSharp_custom_application_exception">Custom C# ApplicationException example</a> </ul> -<li><a href="#csharp_directors">C# Directors</a> +<li><a href="#CSharp_directors">C# Directors</a> <ul> -<li><a href="#csharp_directors_example">Directors example</a> -<li><a href="#csharp_directors_implementation">Directors implementation</a> -<li><a href="#csharp_director_caveats">Director caveats</a> +<li><a href="#CSharp_directors_example">Directors example</a> +<li><a href="#CSharp_directors_implementation">Directors implementation</a> +<li><a href="#CSharp_director_caveats">Director caveats</a> </ul> -<li><a href="#csharp_typemap_examples">C# Typemap examples</a> +<li><a href="#CSharp_typemap_examples">C# Typemap examples</a> <ul> -<li><a href="#csharp_memory_management_member_variables">Memory management when returning references to member variables</a> -<li><a href="#csharp_memory_management_objects">Memory management for objects passed to the C++ layer</a> -<li><a href="#csharp_date_marshalling">Date marshalling using the csin typemap and associated attributes</a> -<li><a href="#csharp_date_properties">A date example demonstrating marshalling of C# properties</a> -<li><a href="#csharp_partial_classes">Turning wrapped classes into partial classes</a> -<li><a href="#csharp_extending_proxy_class">Extending proxy classes with additional C# code</a> +<li><a href="#CSharp_memory_management_member_variables">Memory management when returning references to member variables</a> +<li><a href="#CSharp_memory_management_objects">Memory management for objects passed to the C++ layer</a> +<li><a href="#CSharp_date_marshalling">Date marshalling using the csin typemap and associated attributes</a> +<li><a href="#CSharp_date_properties">A date example demonstrating marshalling of C# properties</a> +<li><a href="#CSharp_partial_classes">Turning wrapped classes into partial classes</a> +<li><a href="#CSharp_extending_proxy_class">Extending proxy classes with additional C# code</a> </ul> </ul> </div> @@ -45,7 +45,7 @@ -<H2><a name="csharp_introduction"></a>18.1 Introduction</H2> +<H2><a name="CSharp_introduction"></a>18.1 Introduction</H2> <p> @@ -65,7 +65,7 @@ Monodoc, available from the Mono project, has a very useful section titled <a href="http://www.mono-project.com/Interop_with_Native_Libraries">Interop with native libraries</a>. </p> -<H2><a name="csharp_differences_java"></a>18.2 Differences to the Java module</H2> +<H2><a name="CSharp_differences_java"></a>18.2 Differences to the Java module</H2> <p> @@ -137,7 +137,7 @@ C# doesn't support the notion of throws clauses. Therefore there is no 'throws' typemap attribute support for adding exception classes to a throws clause. Likewise there is no need for an equivalent to <tt>%javaexception</tt>. -In fact, throwing C# exceptions works quite differently, see <a href="CSharp.html#csharp_exceptions">C# Exceptions</a> below. +In fact, throwing C# exceptions works quite differently, see <a href="CSharp.html#CSharp_exceptions">C# Exceptions</a> below. </li> <li> @@ -215,10 +215,10 @@ <p> Unlike the "javain" typemap, the "csin" typemap does not support the 'pgcpp' attribute as the C# module does not have a premature garbage collection prevention parameter. The "csin" typemap supports additional optional attributes called 'cshin' and 'terminator'. -The 'cshin' attribute should contain the parameter type and name whenever a <a href="Java.html#java_constructor_helper_function">constructor helper function</a> is generated due to the 'pre' or 'post' attributes. +The 'cshin' attribute should contain the parameter type and name whenever a <a href="Java.html#Java_constructor_helper_function">constructor helper function</a> is generated due to the 'pre' or 'post' attributes. The 'terminator' attribute normally just contains a closing brace for when the 'pre' attribute contains an opening brace, such as when a C# <tt>using</tt> or <tt>fixed</tt> block is started. Note that 'pre', 'post', 'terminator' and 'cshin' attributes are not used for marshalling the property set. -Please see the <a href="#csharp_date_marshalling">Date marshalling example</a> and <a href="#csharp_date_properties">Date marshalling of properties example</a> for further understanding of these "csin" applicable attributes. +Please see the <a href="#CSharp_date_marshalling">Date marshalling example</a> and <a href="#CSharp_date_properties">Date marshalling of properties example</a> for further understanding of these "csin" applicable attributes. </p> </li> @@ -255,7 +255,7 @@ Support for type attributes. The 'imtype' and 'cstype' typemaps can have an optional <tt>inattributes</tt> and <tt>outattributes</tt> typemap attribute. The 'imtype' typemap can also have an optional <tt>directorinattributes</tt> and <tt>directoroutattributes</tt> -typemap attribute which attaches to director delegates, an implementation detail of directors, see <a href="#csharp_directors_implementation">directors implementation</a>. +typemap attribute which attaches to director delegates, an implementation detail of directors, see <a href="#CSharp_directors_implementation">directors implementation</a>. Note that there are C# attributes and typemap attributes, don't get confused between the two!! The C# attributes specified in these typemap attributes are generated wherever the type is used in the C# wrappers. These can be used to specify any C# attribute associated with a C/C++ type, but are more typically used for the C# <tt>MarshalAs</tt> attribute. @@ -406,7 +406,7 @@ </li> <li> -<a name="csharp_module_directive"></a> +<a name="CSharp_module_directive"></a> <p> The name of the intermediary class can be changed from its default, that is, the module name with PINVOKE appended after it. The module directive attribute <tt>imclassname</tt> is used to achieve this: @@ -441,7 +441,7 @@ <p> <b><tt>$imclassname</tt></b><br> This special variable expands to the intermediary class name. For C# this is usually the same as '$modulePINVOKE' ('$moduleJNI' for Java), -unless the imclassname attribute is specified in the <a href="CSharp.html#csharp_module_directive">%module directive</a>. +unless the imclassname attribute is specified in the <a href="CSharp.html#CSharp_module_directive">%module directive</a>. </p> <p> @@ -721,7 +721,7 @@ -<H2><a name="csharp_exceptions"></a>18.4 C# Exceptions</H2> +<H2><a name="CSharp_exceptions"></a>18.4 C# Exceptions</H2> <p> @@ -818,7 +818,7 @@ </p> -<H3><a name="csharp_exception_example_check_typemap"></a>18.4.1 C# exception example using "check" typemap</H3> +<H3><a name="CSharp_exception_example_check_typemap"></a>18.4.1 C# exception example using "check" typemap</H3> <p> @@ -1000,7 +1000,7 @@ Actually it will issue this warning for any function beginning with <tt>SWIG_CSharpSetPendingException</tt>. </P> -<H3><a name="csharp_exception_example_percent_exception"></a>18.4.2 C# exception example using %exception</H3> +<H3><a name="CSharp_exception_example_percent_exception"></a>18.4.2 C# exception example using %exception</H3> <p> @@ -1065,7 +1065,7 @@ </pre> </div> -<H3><a name="csharp_exception_example_exception_specifications"></a>18.4.3 C# exception example using exception specifications</H3> +<H3><a name="CSharp_exception_example_exception_specifications"></a>18.4.3 C# exception example using exception specifications</H3> <p> @@ -1122,7 +1122,7 @@ Multiple catch handlers are generated should there be more than one exception specifications declared. </p> -<H3><a name="csharp_custom_application_exception"></a>18.4.4 Custom C# ApplicationException example</H3> +<H3><a name="CSharp_custom_application_exception"></a>18.4.4 Custom C# ApplicationException example</H3> <p> @@ -1256,7 +1256,7 @@ </pre> </div> -<H2><a name="csharp_directors"></a>18.5 C# Directors</H2> +<H2><a name="CSharp_directors"></a>18.5 C# Directors</H2> <p> @@ -1266,10 +1266,10 @@ <p> The following sections provide information on the C# director implementation and contain most of the information required to use the C# directors. -However, the <a href="Java.html#java_directors">Java directors</a> section should also be read in order to gain more insight into directors. +However, the <a href="Java.html#Java_directors">Java directors</a> section should also be read in order to gain more insight into directors. </p> -<H3><a name="csharp_directors_example"></a>18.5.1 Directors example</H3> +<H3><a name="CSharp_directors_example"></a>18.5.1 Directors example</H3> <p> @@ -1390,7 +1390,7 @@ </pre> </div> -<H3><a name="csharp_directors_implementation"></a>18.5.2 Directors implementation</H3> +<H3><a name="CSharp_directors_implementation"></a>18.5.2 Directors implementation</H3> <p> @@ -1576,7 +1576,7 @@ </pre> </div> -<H3><a name="csharp_director_caveats"></a>18.5.3 Director caveats</H3> +<H3><a name="CSharp_director_caveats"></a>18.5.3 Director caveats</H3> <p> @@ -1624,7 +1624,7 @@ should pass the call on to <tt>CSharpDefaults.DefaultMethod(int)</tt>using the C++ default value, as shown above. </p> -<H2><a name="csharp_typemap_examples"></a>18.6 C# Typemap examples</H2> +<H2><a name="CSharp_typemap_examples"></a>18.6 C# Typemap examples</H2> This section includes a few examples of typemaps. For more examples, you @@ -1632,12 +1632,12 @@ the SWIG library. -<H3><a name="csharp_memory_management_member_variables"></a>18.6.1 Memory management when returning references to member variables</H3> +<H3><a name="CSharp_memory_management_member_variables"></a>18.6.1 Memory management when returning references to member variables</H3> <p> This example shows how to prevent premature garbage collection of objects when the underlying C++ class returns a pointer or reference to a member variable. -The example is a direct equivalent to this <a href="Java.html#java_memory_management_objects">Java equivalent</a>. +The example is a direct equivalent to this <a href="Java.html#Java_memory_management_objects">Java equivalent</a>. </p> <p> @@ -1756,11 +1756,11 @@ Note the <tt>addReference</tt> call. </p> -<H3><a name="csharp_memory_management_objects"></a>18.6.2 Memory management for objects passed to the C++ layer</H3> +<H3><a name="CSharp_memory_management_objects"></a>18.6.2 Memory management for objects passed to the C++ layer</H3> <p> -The example is a direct equivalent to this <a href="Java.html#java_memory_management_objects">Java equivalent</a>. +The example is a direct equivalent to this <a href="Java.html#Java_memory_management_objects">Java equivalent</a>. Managing memory can be tricky when using C++ and C# proxy classes. The previous example shows one such case and this example looks at memory management for a class passed to a C++ method which expects the object to remain in scope after the function has returned. Consider the following two C++ classes: @@ -1875,14 +1875,14 @@ </div> -<H3><a name="csharp_date_marshalling"></a>18.6.3 Date marshalling using the csin typemap and associated attributes</H3> +<H3><a name="CSharp_date_marshalling"></a>18.6.3 Date marshalling using the csin typemap and associated attributes</H3> <p> -The <a href="Java.html#nan_exception_typemap">NaN Exception example</a> is a simple example of the "javain" typemap and its 'pre' attribute. +The <a href="Java.html#Java_nan_exception_typemap">NaN Exception example</a> is a simple example of the "javain" typemap and its 'pre' attribute. This example demonstrates how a C++ date class, say <tt>CDate</tt>, can be mapped onto the standard .NET date class, <tt>System.DateTime</tt> by using the 'pre', 'post' and 'pgcppname' attributes of the "csin" typemap (the C# equivalent to the "javain" typemap). -The example is an equivalent to the <a href="Java.html#java_date_marshalling">Java Date marshalling example</a>. +The example is an equivalent to the <a href="Java.html#Java_date_marshalling">Java Date marshalling example</a>. The idea is that the <tt>System.DateTime</tt> is used wherever the C++ API uses a <tt>CDate</tt>. Let's assume the code being wrapped is as follows: </p> @@ -2159,7 +2159,7 @@ </pre> </div> -<H3><a name="csharp_date_properties"></a>18.6.4 A date example demonstrating marshalling of C# properties</H3> +<H3><a name="CSharp_date_properties"></a>18.6.4 A date example demonstrating marshalling of C# properties</H3> <p> @@ -2260,7 +2260,7 @@ </ul> -<H3><a name="csharp_partial_classes"></a>18.6.5 Turning wrapped classes into partial classes</H3> +<H3><a name="CSharp_partial_classes"></a>18.6.5 Turning wrapped classes into partial classes</H3> <p> @@ -2360,7 +2360,7 @@ The following example is an alternative approach to adding managed code to the generated proxy class. </p> -<H3><a name="csharp_extending_proxy_class"></a>18.6.6 Extending proxy classes with additional C# code</H3> +<H3><a name="CSharp_extending_proxy_class"></a>18.6.6 Extending proxy classes with additional C# code</H3> <p> Modified: trunk/Doc/Manual/Contents.html =================================================================== --- trunk/Doc/Manual/Contents.html 2010-03-06 19:35:25 UTC (rev 11921) +++ trunk/Doc/Manual/Contents.html 2010-03-06 20:42:53 UTC (rev 11922) @@ -623,35 +623,35 @@ <!-- INDEX --> <div class="sectiontoc"> <ul> -<li><a href="CSharp.html#csharp_introduction">Introduction</a> -<li><a href="CSharp.html#csharp_differences_java">Differences to the Java module</a> +<li><a href="CSharp.html#CSharp_introduction">Introduction</a> +<li><a href="CSharp.html#CSharp_differences_java">Differences to the Java module</a> <li><a href="CSharp.html#CSharp_arrays">C# Arrays</a> <ul> <li><a href="CSharp.html#CSharp_arrays_swig_library">The SWIG C arrays library</a> <li><a href="CSharp.html#CSharp_arrays_pinvoke_default_array_marshalling">Managed arrays using P/Invoke default array marshalling</a> <li><a href="CSharp.html#CSharp_arrays_pinning">Managed arrays using pinning</a> </ul> -<li><a href="CSharp.html#csharp_exceptions">C# Exceptions</a> +<li><a href="CSharp.html#CSharp_exceptions">C# Exceptions</a> <ul> -<li><a href="CSharp.html#csharp_exception_example_check_typemap">C# exception example using "check" typemap</a> -<li><a href="CSharp.html#csharp_exception_example_percent_exception">C# exception example using %exception</a> -<li><a href="CSharp.html#csharp_exception_example_exception_specifications">C# exception example using exception specifications</a> -<li><a href="CSharp.html#csharp_custom_application_exception">Custom C# ApplicationException example</a> +<li><a href="CSharp.html#CSharp_exception_example_check_typemap">C# exception example using "check" typemap</a> +<li><a href="CSharp.html#CSharp_exception_example_percent_exception">C# exception example using %exception</a> +<li><a href="CSharp.html#CSharp_exception_example_exception_specifications">C# exception example using exception specifications</a> +<li><a href="CSharp.html#CSharp_custom_application_exception">Custom C# ApplicationException example</a> </ul> -<li><a href="CSharp.html#csharp_directors">C# Directors</a> +<li><a href="CSharp.html#CSharp_directors">C# Directors</a> <ul> -<li><a href="CSharp.html#csharp_directors_example">Directors example</a> -<li><a href="CSharp.html#csharp_directors_implementation">Directors implementation</a> -<li><a href="CSharp.html#csharp_director_caveats">Director caveats</a> +<li><a href="CSharp.html#CSharp_directors_example">Directors example</a> +<li><a href="CSharp.html#CSharp_directors_implementation">Directors implementation</a> +<li><a href="CSharp.html#CSharp_director_caveats">Director caveats</a> </ul> -<li><a href="CSharp.html#csharp_typemap_examples">C# Typemap examples</a> +<li><a href="CSharp.html#CSharp_typemap_examples">C# Typemap examples</a> <ul> -<li><a href="CSharp.html#csharp_memory_management_member_variables">Memory management when returning references to member variables</a> -<li><a href="CSharp.html#csharp_memory_management_objects">Memory management for objects passed to the C++ layer</a> -<li><a href="CSharp.html#csharp_date_marshalling">Date marshalling using the csin typemap and associated attributes</a> -<li><a href="CSharp.html#csharp_date_properties">A date example demonstrating marshalling of C# properties</a> -<li><a href="CSharp.html#csharp_partial_classes">Turning wrapped classes into partial classes</a> -<li><a href="CSharp.html#csharp_extending_proxy_class">Extending proxy classes with additional C# code</a> +<li><a href="CSharp.html#CSharp_memory_management_member_variables">Memory management when returning references to member variables</a> +<li><a href="CSharp.html#CSharp_memory_management_objects">Memory management for objects passed to the C++ layer</a> +<li><a href="CSharp.html#CSharp_date_marshalling">Date marshalling using the csin typemap and associated attributes</a> +<li><a href="CSharp.html#CSharp_date_properties">A date example demonstrating marshalling of C# properties</a> +<li><a href="CSharp.html#CSharp_partial_classes">Turning wrapped classes into partial classes</a> +<li><a href="CSharp.html#CSharp_extending_proxy_class">Extending proxy classes with additional C# code</a> </ul> </ul> </div> @@ -735,139 +735,139 @@ <!-- INDEX --> <div class="sectiontoc"> <ul> -<li><a href="Java.html#java_overview">Overview</a> -<li><a href="Java.html#java_preliminaries">Preliminaries</a> +<li><a href="Java.html#Java_overview">Overview</a> +<li><a href="Java.html#Java_preliminaries">Preliminaries</a> <ul> -<li><a href="Java.html#running_swig">Running SWIG</a> -<li><a href="Java.html#java_commandline">Additional Commandline Options</a> -<li><a href="Java.html#getting_right_headers">Getting the right header files</a> -<li><a href="Java.html#compiling_dynamic">Compiling a dynamic module</a> -<li><a href="Java.html#using_module">Using your module</a> -<li><a href="Java.html#dynamic_linking_problems">Dynamic linking problems</a> -<li><a href="Java.html#compilation_problems_cpp">Compilation problems and compiling with C++</a> -<li><a href="Java.html#building_windows">Building on Windows</a> +<li><a href="Java.html#Java_running_swig">Running SWIG</a> +<li><a href="Java.html#Java_commandline">Additional Commandline Options</a> +<li><a href="Java.html#Java_getting_right_headers">Getting the right header files</a> +<li><a href="Java.html#Java_compiling_dynamic">Compiling a dynamic module</a> +<li><a href="Java.html#Java_using_module">Using your module</a> +<li><a href="Java.html#Java_dynamic_linking_problems">Dynamic linking problems</a> +<li><a href="Java.html#Java_compilation_problems_cpp">Compilation problems and compiling with C++</a> +<li><a href="Java.html#Java_building_windows">Building on Windows</a> <ul> -<li><a href="Java.html#visual_studio">Running SWIG from Visual Studio</a> -<li><a href="Java.html#nmake">Using NMAKE</a> +<li><a href="Java.html#Java_visual_studio">Running SWIG from Visual Studio</a> +<li><a href="Java.html#Java_nmake">Using NMAKE</a> </ul> </ul> -<li><a href="Java.html#java_basic_tour">A tour of basic C/C++ wrapping</a> +<li><a href="Java.html#Java_basic_tour">A tour of basic C/C++ wrapping</a> <ul> -<li><a href="Java.html#module_packages_classes">Modules, packages and generated Java classes</a> -<li><a href="Java.html#functions">Functions</a> -<li><a href="Java.html#global_variables">Global variables</a> -<li><a href="Java.html#constants">Constants</a> -<li><a href="Java.html#enumerations">Enumerations</a> +<li><a href="Java.html#Java_module_packages_classes">Modules, packages and generated Java classes</a> +<li><a href="Java.html#Java_functions">Functions</a> +<li><a href="Java.html#Java_global_variables">Global variables</a> +<li><a href="Java.html#Java_constants">Constants</a> +<li><a href="Java.html#Java_enumerations">Enumerations</a> <ul> -<li><a href="Java.html#anonymous_enums">Anonymous enums</a> -<li><a href="Java.html#typesafe_enums">Typesafe enums</a> -<li><a href="Java.html#proper_enums">Proper Java enums</a> -<li><a href="Java.html#typeunsafe_enums">Type unsafe enums</a> -<li><a href="Java.html#simple_enums">Simple enums</a> +<li><a href="Java.html#Java_anonymous_enums">Anonymous enums</a> +<li><a href="Java.html#Java_typesafe_enums">Typesafe enums</a> +<li><a href="Java.html#Java_proper_enums">Proper Java enums</a> +<li><a href="Java.html#Java_typeunsafe_enums">Type unsafe enums</a> +<li><a href="Java.html#Java_simple_enums">Simple enums</a> </ul> -<li><a href="Java.html#pointers">Pointers</a> -<li><a href="Java.html#structures">Structures</a> -<li><a href="Java.html#classes">C++ classes</a> -<li><a href="Java.html#inheritance">C++ inheritance</a> -<li><a href="Java.html#pointers_refs_arrays">Pointers, references, arrays and pass by value</a> +<li><a href="Java.html#Java_pointers">Pointers</a> +<li><a href="Java.html#Java_structures">Structures</a> +<li><a href="Java.html#Java_classes">C++ classes</a> +<li><a href="Java.html#Java_inheritance">C++ inheritance</a> +<li><a href="Java.html#Java_pointers_refs_arrays">Pointers, references, arrays and pass by value</a> <ul> -<li><a href="Java.html#null_pointers">Null pointers</a> +<li><a href="Java.html#Java_null_pointers">Null pointers</a> </ul> -<li><a href="Java.html#overloaded_functions">C++ overloaded functions</a> -<li><a href="Java.html#java_default_arguments">C++ default arguments</a> -<li><a href="Java.html#namespaces">C++ namespaces</a> -<li><a href="Java.html#templates">C++ templates</a> -<li><a href="Java.html#smart_pointers">C++ Smart Pointers</a> +<li><a href="Java.html#Java_overloaded_functions">C++ overloaded functions</a> +<li><a href="Java.html#Java_default_arguments">C++ default arguments</a> +<li><a href="Java.html#Java_namespaces">C++ namespaces</a> +<li><a href="Java.html#Java_templates">C++ templates</a> +<li><a href="Java.html#Java_smart_pointers">C++ Smart Pointers</a> </ul> -<li><a href="Java.html#further_details">Further details on the generated Java classes</a> +<li><a href="Java.html#Java_further_details">Further details on the generated Java classes</a> <ul> -<li><a href="Java.html#imclass">The intermediary JNI class</a> +<li><a href="Java.html#Java_imclass">The intermediary JNI class</a> <ul> -<li><a href="Java.html#imclass_pragmas">The intermediary JNI class pragmas</a> +<li><a href="Java.html#Java_imclass_pragmas">The intermediary JNI class pragmas</a> </ul> -<li><a href="Java.html#java_module_class">The Java module class</a> +<li><a href="Java.html#Java_module_class">The Java module class</a> <ul> -<li><a href="Java.html#module_class_pragmas">The Java module class pragmas</a> +<li><a href="Java.html#Java_module_class_pragmas">The Java module class pragmas</a> </ul> -<li><a href="Java.html#java_proxy_classes">Java proxy classes</a> +<li><a href="Java.html#Java_proxy_classes">Java proxy classes</a> <ul> -<li><a href="Java.html#memory_management">Memory management</a> -<li><a href="Java.html#inheritance_mirroring">Inheritance</a> -<li><a href="Java.html#proxy_classes_gc">Proxy classes and garbage collection</a> -<li><a href="Java.html#java_pgcpp">The premature garbage collection prevention parameter for proxy class marshalling</a> -<li><a href="Java.html#java_multithread_libraries">Single threaded applications and thread safety</a> +<li><a href="Java.html#Java_memory_management">Memory management</a> +<li><a href="Java.html#Java_inheritance_mirroring">Inheritance</a> +<li><a href="Java.html#Java_proxy_classes_gc">Proxy classes and garbage collection</a> +<li><a href="Java.html#Java_pgcpp">The premature garbage collection prevention parameter for proxy class marshalling</a> +<li><a href="Java.html#Java_multithread_libraries">Single threaded applications and thread safety</a> </ul> -<li><a href="Java.html#type_wrapper_classes">Type wrapper classes</a> -<li><a href="Java.html#enum_classes">Enum classes</a> +<li><a href="Java.html#Java_type_wrapper_classes">Type wrapper classes</a> +<li><a href="Java.html#Java_enum_classes">Enum classes</a> <ul> -<li><a href="Java.html#typesafe_enums_classes">Typesafe enum classes</a> -<li><a href="Java.html#proper_enums_classes">Proper Java enum classes</a> -<li><a href="Java.html#typeunsafe_enums_classes">Type unsafe enum classes</a> +<li><a href="Java.html#Java_typesafe_enums_classes">Typesafe enum classes</a> +<li><a href="Java.html#Java_proper_enums_classes">Proper Java enum classes</a> +<li><a href="Java.html#Java_typeunsafe_enums_classes">Type unsafe enum classes</a> </ul> </ul> -<li><a href="Java.html#java_directors">Cross language polymorphism using directors</a> +<li><a href="Java.html#Java_directors">Cross language polymorphism using directors</a> <ul> -<li><a href="Java.html#java_enabling_directors">Enabling directors</a> -<li><a href="Java.html#java_directors_classes">Director classes</a> -<li><a href="Java.html#java_directors_overhead">Overhead and code bloat</a> -<li><a href="Java.html#java_directors_example">Simple directors example</a> -<li><a href="Java.html#java_directors_threading">Director threading issues</a> +<li><a href="Java.html#Java_enabling_directors">Enabling directors</a> +<li><a href="Java.html#Java_directors_classes">Director classes</a> +<li><a href="Java.html#Java_directors_overhead">Overhead and code bloat</a> +<li><a href="Java.html#Java_directors_example">Simple directors example</a> +<li><a href="Java.html#Java_directors_threading">Director threading issues</a> </ul> -<li><a href="Java.html#java_allprotected">Accessing protected members</a> -<li><a href="Java.html#common_customization">Common customization features</a> +<li><a href="Java.html#Java_allprotected">Accessing protected members</a> +<li><a href="Java.html#Java_common_customization">Common customization features</a> <ul> -<li><a href="Java.html#helper_functions">C/C++ helper functions</a> -<li><a href="Java.html#class_extension">Class extension with %extend</a> -<li><a href="Java.html#exception_handling">Exception handling with %exception and %javaexception</a> -<li><a href="Java.html#method_access">Method access with %javamethodmodifiers</a> +<li><a href="Java.html#Java_helper_functions">C/C++ helper functions</a> +<li><a href="Java.html#Java_class_extension">Class extension with %extend</a> +<li><a href="Java.html#Java_exception_handling">Exception handling with %exception and %javaexception</a> +<li><a href="Java.html#Java_method_access">Method access with %javamethodmodifiers</a> </ul> -<li><a href="Java.html#tips_techniques">Tips and techniques</a> +<li><a href="Java.html#Java_tips_techniques">Tips and techniques</a> <ul> -<li><a href="Java.html#input_output_parameters">Input and output parameters using primitive pointers and references</a> -<li><a href="Java.html#simple_pointers">Simple pointers</a> -<li><a href="Java.html#c_arrays">Wrapping C arrays with Java arrays</a> -<li><a href="Java.html#unbounded_c_arrays">Unbounded C Arrays</a> -<li><a href="Java.html#java_heap_allocations">Overriding new and delete to allocate from Java heap</a> +<li><a href="Java.html#Java_input_output_parameters">Input and output parameters using primitive pointers and references</a> +<li><a href="Java.html#Java_simple_pointers">Simple pointers</a> +<li><a href="Java.html#Java_c_arrays">Wrapping C arrays with Java arrays</a> +<li><a href="Java.html#Java_unbounded_c_arrays">Unbounded C Arrays</a> +<li><a href="Java.html#Java_heap_allocations">Overriding new and delete to allocate from Java heap</a> </ul> -<li><a href="Java.html#java_typemaps">Java typemaps</a> +<li><a href="Java.html#Java_typemaps">Java typemaps</a> <ul> -<li><a href="Java.html#default_primitive_type_mappings">Default primitive type mappings</a> +<li><a href="Java.html#Java_default_primitive_type_mappings">Default primitive type mappings</a> <li><a href="Java.html#Java_default_non_primitive_typemaps">Default typemaps for non-primitive types</a> -<li><a href="Java.html#jvm64">Sixty four bit JVMs</a> -<li><a href="Java.html#what_is_typemap">What is a typemap?</a> -<li><a href="Java.html#typemaps_c_to_java_types">Typemaps for mapping C/C++ types to Java types</a> -<li><a href="Java.html#typemap_attributes">Java typemap attributes</a> -<li><a href="Java.html#special_variables">Java special variables</a> -<li><a href="Java.html#typemaps_for_c_and_cpp">Typemaps for both C and C++ compilation</a> -<li><a href="Java.html#java_code_typemaps">Java code typemaps</a> -<li><a href="Java.html#java_directors_typemaps">Director specific typemaps</a> +<li><a href="Java.html#Java_jvm64">Sixty four bit JVMs</a> +<li><a href="Java.html#Java_what_is_typemap">What is a typemap?</a> +<li><a href="Java.html#Java_typemaps_c_to_java_types">Typemaps for mapping C/C++ types to Java types</a> +<li><a href="Java.html#Java_typemap_attributes">Java typemap attributes</a> +<li><a href="Java.html#Java_special_variables">Java special variables</a> +<li><a href="Java.html#Java_typemaps_for_c_and_cpp">Typemaps for both C and C++ compilation</a> +<li><a href="Java.html#Java_code_typemaps">Java code typemaps</a> +<li><a href="Java.html#Java_directors_typemaps">Director specific typemaps</a> </ul> -<li><a href="Java.html#typemap_examples">Typemap Examples</a> +<li><a href="Java.html#Java_typemap_examples">Typemap Examples</a> <ul> -<li><a href="Java.html#simpler_enum_classes">Simpler Java enums for enums without initializers</a> -<li><a href="Java.html#exception_typemap">Handling C++ exception specifications as Java exceptions</a> -<li><a href="Java.html#nan_exception_typemap">NaN Exception - exception handling for a particular type</a> -<li><a href="Java.html#converting_java_string_arrays">Converting Java String arrays to char ** </a> -<li><a href="Java.html#expanding_java_object">Expanding a Java object to multiple arguments</a> -<li><a href="Java.html#using_typemaps_return_arguments">Using typemaps to return arguments</a> -<li><a href="Java.html#adding_downcasts">Adding Java downcasts to polymorphic return types</a> -<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> -<li><a href="Java.html#java_memory_management_member_variables">Memory management when returning references to member variables</a> -<li><a href="Java.html#java_memory_management_objects">Memory management for objects passed to the C++ layer</a> -<li><a href="Java.html#java_date_marshalling">Date marshalling using the javain typemap and associated attributes</a> +<li><a href="Java.html#Java_simpler_enum_classes">Simpler Java enums for enums without initializers</a> +<li><a href="Java.html#Java_exception_typemap">Handling C++ exception specifications as Java exceptions</a> +<li><a href="Java.html#Java_nan_exception_typemap">NaN Exception - exception handling for a particular type</a> +<li><a href="Java.html#Java_converting_java_string_arrays">Converting Java String arrays to char ** </a> +<li><a href="Java.html#Java_expanding_java_object">Expanding a Java object to multiple arguments</a> +<li><a href="Java.html#Java_using_typemaps_return_arguments">Using typemaps to return arguments</a> +<li><a href="Java.html#Java_adding_downcasts">Adding Java downcasts to polymorphic return types</a> +<li><a href="Java.html#Java_adding_equals_method">Adding an equals method to the Java classes</a> +<li><a href="Java.html#Java_void_pointers">Void pointers and a common Java base class</a> +<li><a href="Java.html#Java_struct_pointer_pointer">Struct pointer to pointer</a> +<li><a href="Java.html#Java_memory_management_member_variables">Memory management when returning references to member variables</a> +<li><a href="Java.html#Java_memory_management_objects">Memory management for objects passed to the C++ layer</a> +<li><a href="Java.html#Java_date_marshalling">Date marshalling using the javain typemap and associated attributes</a> </ul> -<li><a href="Java.html#java_directors_faq">Living with Java Directors</a> -<li><a href="Java.html#odds_ends">Odds and ends</a> +<li><a href="Java.html#Java_directors_faq">Living with Java Directors</a> +<li><a href="Java.html#Java_odds_ends">Odds and ends</a> <ul> -<li><a href="Java.html#javadoc_comments">JavaDoc comments</a> -<li><a href="Java.html#functional_interface">Functional interface without proxy classes</a> -<li><a href="Java.html#using_own_jni_functions">Using your own JNI functions</a> -<li><a href="Java.html#performance">Performance concerns and hints</a> -<li><a href="Java.html#java_debugging">Debugging</a> +<li><a href="Java.html#Java_javadoc_comments">JavaDoc comments</a> +<li><a href="Java.html#Java_functional_interface">Functional interface without proxy classes</a> +<li><a href="Java.html#Java_using_own_jni_functions">Using your own JNI functions</a> +<li><a href="Java.html#Java_performance">Performance concerns and hints</a> +<li><a href="Java.html#Java_debugging">Debugging</a> </ul> -<li><a href="Java.html#java_examples">Examples</a> +<li><a href="Java.html#Java_examples">Examples</a> </ul> </div> <!-- INDEX --> @@ -957,38 +957,38 @@ <!-- INDEX --> <div class="sectiontoc"> <ul> -<li><a href="Modula3.html#modula3_overview">Overview</a> +<li><a href="Modula3.html#Modula3_modula3_overview">Overview</a> <ul> -<li><a href="Modula3.html#whyscripting">Why not scripting ?</a> -<li><a href="Modula3.html#whymodula3">Why Modula-3 ?</a> -<li><a href="Modula3.html#whycpp">Why C / C++ ?</a> -<li><a href="Modula3.html#whyswig">Why SWIG ?</a> +<li><a href="Modula3.html#Modula3_whyscripting">Why not scripting ?</a> +<li><a href="Modula3.html#Modula3_whymodula3">Why Modula-3 ?</a> +<li><a href="Modula3.html#Modula3_whycpp">Why C / C++ ?</a> +<li><a href="Modula3.html#Modula3_whyswig">Why SWIG ?</a> </ul> -<li><a href="Modula3.html#conception">Conception</a> +<li><a href="Modula3.html#Modula3_conception">Conception</a> <ul> -<li><a href="Modula3.html#cinterface">Interfaces to C libraries</a> -<li><a href="Modula3.html#cppinterface">Interfaces to C++ libraries</a> +<li><a href="Modula3.html#Modula3_cinterface">Interfaces to C libraries</a> +<li><a href="Modula3.html#Modula3_cppinterface">Interfaces to C++ libraries</a> </ul> -<li><a href="Modula3.html#preliminaries">Preliminaries</a> +<li><a href="Modula3.html#Modula3_preliminaries">Preliminaries</a> <ul> -<li><a href="Modula3.html#compilers">Compilers</a> -<li><a href="Modula3.html#commandline">Additional Commandline Options</a> +<li><a href="Modula3.html#Modula3_compilers">Compilers</a> +<li><a href="Modula3.html#Modula3_commandline">Additional Commandline Options</a> </ul> -<li><a href="Modula3.html#modula3_typemaps">Modula-3 typemaps</a> +<li><a href="Modula3.html#Modula3_typemaps">Modula-3 typemaps</a> <ul> -<li><a href="Modula3.html#inoutparam">Inputs and outputs</a> -<li><a href="Modula3.html#ordinals">Subranges, Enumerations, Sets</a> -<li><a href="Modula3.html#class">Objects</a> -<li><a href="Modula3.html#imports">Imports</a> -<li><a href="Modula3.html#exceptions">Exceptions</a> -<li><a href="Modula3.html#typemap_example">Example</a> +<li><a href="Modula3.html#Modula3_inoutparam">Inputs and outputs</a> +<li><a href="Modula3.html#Modula3_ordinals">Subranges, Enumerations, Sets</a> +<li><a href="Modula3.html#Modula3_class">Objects</a> +<li><a href="Modula3.html#Modula3_imports">Imports</a> +<li><a href="Modula3.html#Modula3_exceptions">Exceptions</a> +<li><a href="Modula3.html#Modula3_typemap_example">Example</a> </ul> -<li><a href="Modula3.html#hints">More hints to the generator</a> +<li><a href="Modula3.html#Modula3_hints">More hints to the generator</a> <ul> -<li><a href="Modula3.html#features">Features</a> -<li><a href="Modula3.html#pragmas">Pragmas</a> +<li><a href="Modula3.html#Modula3_features">Features</a> +<li><a href="Modula3.html#Modula3_pragmas">Pragmas</a> </ul> -<li><a href="Modula3.html#remarks">Remarks</a> +<li><a href="Modula3.html#Modula3_remarks">Remarks</a> </ul> </div> <!-- INDEX --> Modified: trunk/Doc/Manual/Customization.html =================================================================== --- trunk/Doc/Manual/Customization.html 2010-03-06 19:35:25 UTC (rev 11921) +++ trunk/Doc/Manual/Customization.html 2010-03-06 20:42:53 UTC (rev 11922) @@ -854,7 +854,7 @@ </div> <p> -Further details can be obtained from the <a href="Java.html#exception_handling">Java exception handling</a> section. +Further details can be obtained from the <a href="Java.html#Java_exception_handling">Java exception handling</a> section. </p> <H3><a name="Customization_feature_flags"></a>11.3.2 Feature flags</H3> Modified: trunk/Doc/Manual/Java.html =================================================================== --- trunk/Doc/Manual/Java.html 2010-03-06 19:35:25 UTC (rev 11921) +++ trunk/Doc/Manual/Java.html 2010-03-06 20:42:53 UTC (rev 11922) @@ -9,139 +9,139 @@ <!-- INDEX --> <div class="sectiontoc"> <ul> -<li><a href="#java_overview">Overview</a> -<li><a href="#java_preliminaries">Preliminaries</a> +<li><a href="#Java_overview">Overview</a> +<li><a href="#Java_preliminaries">Preliminaries</a> <ul> -<li><a href="#running_swig">Running SWIG</a> -<li><a href="#java_commandline">Additional Commandline Options</a> -<li><a href="#getting_right_headers">Getting the right header files</a> -<li><a href="#compiling_dynamic">Compiling a dynamic module</a> -<li><a href="#using_module">Using your module</a> -<li><a href="#dynamic_linking_problems">Dynamic linking problems</a> -<li><a href="#compilation_problems_cpp">Compilation problems and compiling with C++</a> -<li><a href="#building_windows">Building on Windows</a> +<li><a href="#Java_running_swig">Running SWIG</a> +<li><a href="#Java_commandline">Additional Commandline Options</a> +<li><a href="#Java_getting_right_headers">Getting the right header files</a> +<li><a href="#Java_compiling_dynamic">Compiling a dynamic module</a> +<li><a href="#Java_using_module">Using your module</a> +<li><a href="#Java_dynamic_linking_problems">Dynamic linking problems</a> +<li><a href="#Java_compilation_problems_cpp">Compilation problems and compiling with C++</a> +<li><a href="#Java_building_windows">Building on Windows</a> <ul> -<li><a href="#visual_studio">Running SWIG from Visual Studio</a> -<li><a href="#nmake">Using NMAKE</a> +<li><a href="#Java_visual_studio">Running SWIG from Visual Studio</a> +<li><a href="#Java_nmake">Using NMAKE</a> </ul> </ul> -<li><a href="#java_basic_tour">A tour of basic C/C++ wrapping</a> +<li><a href="#Java_basic_tour">A tour of basic C/C++ wrapping</a> <ul> -<li><a href="#module_packages_classes">Modules, packages and generated Java classes</a> -<li><a href="#functions">Functions</a> -<li><a href="#global_variables">Global variables</a> -<li><a href="#constants">Constants</a> -<li><a href="#enumerations">Enumerations</a> +<li><a href="#Java_module_packages_classes">Modules, packages and generated Java classes</a> +<li><a href="#Java_functions">Functions</a> +<li><a href="#Java_global_variables">Global variables</a> +<li><a href="#Java_constants">Constants</a> +<li><a href="#Java_enumerations">Enumerations</a> <ul> -<li><a href="#anonymous_enums">Anonymous enums</a> -<li><a href="#typesafe_enums">Typesafe enums</a> -<li><a href="#proper_enums">Proper Java enums</a> -<li><a href="#typeunsafe_enums">Type unsafe enums</a> -<li><a href="#simple_enums">Simple enums</a> +<li><a href="#Java_anonymous_enums">Anonymous enums</a> +<li><a href="#Java_typesafe_enums">Typesafe enums</a> +<li><a href="#Java_proper_enums">Proper Java enums</a> +<li><a href="#Java_typeunsafe_enums">Type unsafe enums</a> +<li><a href="#Java_simple_enums">Simple enums</a> </ul> -<li><a href="#pointers">Pointers</a> -<li><a href="#structures">Structures</a> -<li><a href="#classes">C++ classes</a> -<li><a href="#inheritance">C++ inheritance</a> -<li><a href="#pointers_refs_arrays">Pointers, references, arrays and pass by value</a> +<li><a href="#Java_pointers">Pointers</a> +<li><a href="#Java_structures">Structures</a> +<li><a href="#Java_classes">C++ classes</a> +<li><a href="#Java_inheritance">C++ inheritance</a> +<li><a href="#Java_pointers_refs_arrays">Pointers, references, arrays and pass by value</a> <ul> -<li><a href="#null_pointers">Null pointers</a> +<li><a href="#Java_null_pointers">Null pointers</a> </ul> -<li><a href="#overloaded_functions">C++ overloaded functions</a> -<li><a href="#java_default_arguments">C++ default arguments</a> -<li><a href="#namespaces">C++ namespaces</a> -<li><a href="#templates">C++ templates</a> -<li><a href="#smart_pointers">C++ Smart Pointers</a> +<li><a href="#Java_overloaded_functions">C++ overloaded functions</a> +<li><a href="#Java_default_arguments">C++ default arguments</a> +<li><a href="#Java_namespaces">C++ namespaces</a> +<li><a href="#Java_templates">C++ templates</a> +<li><a href="#Java_smart_pointers">C++ Smart Pointers</a> </ul> -<li><a href="#further_details">Further details on the generated Java classes</a> +<li><a href="#Java_further_details">Further details on the generated Java classes</a> <ul> -<li><a href="#imclass">The intermediary JNI class</a> +<li><a href="#Java_imclass">The intermediary JNI class</a> <ul> -<li><a href="#imclass_pragmas">The intermediary JNI class pragmas</a> +<li><a href="#Java_imclass_pragmas">The intermediary JNI class pragmas</a> </ul> -<li><a href="#java_module_class">The Java module class</a> +<li><a href="#Java_module_class">The Java module class</a> <ul> -<li><a href="#module_class_pragmas">The Java module class pragmas</a> +<li><a href="#Java_module_class_pragmas">The Java module class pragmas</a> </ul> -<li><a href="#java_proxy_classes">Java proxy classes</a> +<li><a href="#Java_proxy_classes">Java proxy classes</a> <ul> -<li><a href="#memory_management">Memory management</a> -<li><a href="#inheritance_mirroring">Inheritance</a> -<li><a href="#proxy_classes_gc">Proxy classes and garbage collection</a> -<li><a href="#java_pgcpp">The premature garbage collection prevention parameter for proxy class marshalling</a> -<li><a href="#java_multithread_libraries">Single threaded applications and thread safety</a> +<li><a href="#Java_memory_management">Memory management</a> +<li><a href="#Java_inheritance_mirroring">Inheritance</a> +<li><a href="#Java_proxy_classes_gc">Proxy classes and garbage collection</a> +<li><a href="#Java_pgcpp">The premature garbage collection prevention parameter for proxy class marshalling</a> +<li><a href="#Java_multithread_libraries">Single threaded applications and thread safety</a> </ul> -<li><a href="#type_wrapper_classes">Type wrapper classes</a> -<li><a href="#enum_classes">Enum classes</a> +<li><a href="#Java_type_wrapper_classes">Type wrapper classes</a> +<li><a href="#Java_enum_classes">Enum classes</a> <ul> -<li><a href="#typesafe_enums_classes">Typesafe enum classes</a> -<li><a href="#proper_enums_classes">Proper Java enum classes</a> -<li><a href="#typeunsafe_enums_classes">Type unsafe enum classes</a> +<li><a href="#Java_typesafe_enums_classes">Typesafe enum classes</a> +<li><a href="#Java_proper_enums_classes">Proper Java enum classes</a> +<li><a href="#Java_typeunsafe_enums_classes">Type unsafe enum classes</a> </ul> </ul> -<li><a href="#java_directors">Cross language polymorphism using directors</a> +<li><a href="#Java_directors">Cross language polymorphism using directors</a> <ul> -<li><a href="#java_enabling_directors">Enabling directors</a> -<li><a href="#java_directors_classes">Director classes</a> -<li><a href="#java_directors_overhead">Overhead and code bloat</a> -<li><a href="#java_directors_example">Simple directors example</a> -<li><a href="#java_directors_threading">Director threading issues</a> +<li><a href="#Java_enabling_directors">Enabling directors</a> +<li><a href="#Java_directors_classes">Director classes</a> +<li><a href="#Java_directors_overhead">Overhead and code bloat</a> +<li><a href="#Java_directors_example">Simple directors example</a> +<li><a href="#Java_directors_threading">Director threading issues</a> </ul> -<li><a href="#java_allprotected">Accessing protected members</a> -<li><a href="#common_customization">Common customization features</a> +<li><a href="#Java_allprotected">Accessing protected members</a> +<li><a href="#Java_common_customization">Common customization features</a> <ul> -<li><a href="#helper_functions">C/C++ helper functions</a> -<li><a href="#class_extension">Class extension with %extend</a> -<li><a href="#exception_handling">Exception handling with %exception and %javaexception</a> -<li><a href="#method_access">Method access with %javamethodmodifiers</a> +<li><a href="#Java_helper_functions">C/C++ helper functions</a> +<li><a href="#Java_class_extension">Class extension with %extend</a> +<li><a href="#Java_exception_handling">Exception handling with %exception and %javaexception</a> +<li><a href="#Java_method_access">Method access with %javamethodmodifiers</a> </ul> -<li><a href="#tips_techniques">Tips and techniques</a> +<li><a href="#Java_tips_techniques">Tips and techniques</a> <ul> -<li><a href="#input_output_parameters">Input and output parameters using primitive pointers and references</a> -<li><a href="#simple_pointers">Simple pointers</a> -<li><a href="#c_arrays">Wrapping C arrays with Java arrays</a> -<li><a href="#unbounded_c_arrays">Unbounded C Arrays</a> -<li><a href="#java_heap_allocations">Overriding new and delete to allocate from Java heap</a> +<li><a href="#Java_input_output_parameters">Input and output parameters using primitive pointers and references</a> +<li><a href="#Java_simple_pointers">Simple pointers</a> +<li><a href="#Java_c_arrays">Wrapping C arrays with Java arrays</a> +<li><a href="#Java_unbounded_c_arrays">Unbounded C Arrays</a> +<li><a href="#Java_heap_allocations">Overriding new and delete to allocate from Java heap</a> </ul> -<li><a href="#java_typemaps">Java typemaps</a> +<li><a href="#Java_typemaps">Java typemaps</a> <ul> -<li><a href="#default_primitive_type_mappings">Default primitive type mappings</a> +<li><a href="#Java_default_primitive_type_mappings">Default primitive type mappings</a> <li><a href="#Java_default_non_primitive_typemaps">Default typemaps for non-primitive types</a> -<li><a href="#jvm64">Sixty four bit JVMs</a> -<li><a href="#what_is_typemap">What is a typemap?</a> -<li><a href="#typemaps_c_to_java_types">Typemaps for mapping C/C++ types to Java types</a> -<li><a href="#typemap_attributes">Java typemap attributes</a> -<li><a href="#special_variables">Java special variables</a> -<li><a href="#typemaps_for_c_and_cpp">Typemaps for both C and C++ compilation</a> -<li><a href="#java_code_typemaps">Java code typemaps</a> -<li><a href="#java_directors_typemaps">Director specific typemaps</a> +<li><a href="#Java_jvm64">Sixty four bit JVMs</a> +<li><a href="#Java_what_is_typemap">What is a typemap?</a> +<li><a href="#Java_typemaps_c_to_java_types">Typemaps for mapping C/C++ types to Java types</a> +<li><a href="#Java_typemap_attributes">Java typemap attributes</a> +<li><a href="#Java_special_variables">Java special variables</a> +<li><a href="#Java_typemaps_for_c_and_cpp">Typemaps for both C and C++ compilation</a> +<li><a href="#Java_code_typemaps">Java code typemaps</a> +<li><a href="#Java_directors_typemaps">Director specific typemaps</a> </ul> -<li><a href="#typemap_examples">Typemap Examples</a> +<li><a href="#Java_typemap_examples">Typemap Examples</a> <ul> -<li><a href="#simpler_enum_classes">Simpler Java enums for enums without initializers</a> -<li><a href="#exception_typemap">Handling C++ exception specifications as Java exceptions</a> -<li><a href="#nan_exception_typemap">NaN Exception - exception handling for a particular type</a> -<li><a href="#converting_java_string_arrays">Converting Java String arrays to char ** </a> -<li><a href="#expanding_java_object">Expanding a Java object to multiple arguments</a> -<li><a href="#using_typemaps_return_arguments">Using typemaps to return arguments</a> -<li><a href="#adding_downcasts">Adding Java downcasts to polymorphic return types</a> -<li><a href="#adding_equals_method">Adding an equals method to the Java classes</a> -<li><a href="#void_pointers">Void pointers and a common Java base class</a> -<li><a href="#struct_pointer_pointer">Struct pointer to pointer</a> -<li><a href="#java_memory_management_member_variables">Memory management when returning references to member variables</a> -<li><a href="#java_memory_management_objects">Memory management for objects passed to the C++ layer</a> -<li><a href="#java_date_marshalling">Date marshalling using the javain typemap and associated attributes</a> +<li><a href="#Java_simpler_enum_classes">Simpler Java enums for enums without initializers</a> +<li><a href="#Java_exception_typemap">Handling C++ exception specifications as Java exceptions</a> +<li><a href="#Java_nan_exception_typemap">NaN Exception - exception handling for a particular type</a> +<li><a href="#Java_converting_java_string_arrays">Converting Java String arrays to char ** </a> +<li><a href="#Java_expanding_java_object">Expanding a Java object to multiple arguments</a> +<li><a href="#Java_using_typemaps_return_arguments">Using typemaps to return arguments</a> +<li><a href="#Java_adding_downcasts">Adding Java downcasts to polymorphic return types</a> +<li><a href="#Java_adding_equals_method">Adding an equals method to the Java classes</a> +<li><a href="#Java_void_pointers">Void pointers and a common Java base class</a> +<li><a href="#Java_struct_pointer_pointer">Struct pointer to pointer</a> +<li><a href="#Java_memory_management_member_variables">Memory management when returning references to member variables</a> +<li><a href="#Java_memory_management_objects">Memory management for objects passed to the C++ layer</a> +<li><a href="#Java_date_marshalling">Date marshalling using the javain typemap and associated attributes</a> </ul> -<li><a href="#java_directors_faq">Living with Java Directors</a> -<li><a href="#odds_ends">Odds and ends</a> +<li><a href="#Java_directors_faq">Living with Java Directors</a> +<li><a href="#Java_odds_ends">Odds and ends</a> <ul> -<li><a href="#javadoc_comments">JavaDoc comments</a> -<li><a href="#functional_interface">Functional interface without proxy classes</a> -<li><a href="#using_own_jni_functions">Using your own JNI functions</a> -<li><a href="#performance">Performance concerns and hints</a> -<li><a href="#java_debugging">Debugging</a> +<li><a href="#Java_javadoc_comments">JavaDoc comments</a> +<li><a href="#Java_functional_interface">Functional interface without proxy classes</a> +<li><a href="#Java_using_own_jni_functions">Using your own JNI functions</a> +<li><a href="#Java_performance">Performance concerns and hints</a> +<li><a href="#Java_debugging">Debugging</a> </ul> -<li><a href="#java_examples">Examples</a> +<li><a href="#Java_examples">Examples</a> </ul> </div> <!-- INDEX --> @@ -154,7 +154,7 @@ </p> -<H2><a name="java_overview"></a>21.1 Overview</H2> +<H2><a name="Java_overview"></a>21.1 Overview</H2> <p> @@ -181,7 +181,7 @@ <p> This chapter starts with a few practicalities on running SWIG and compiling the generated code. If you are looking for the minimum amount to read, have a look at the sections up to and including the -<a href="#java_basic_tour">tour of basic C/C++ wrapping</a> section which explains how to call the various C/C++ code constructs from Java. +<a href="#Java_basic_tour">tour of basic C/C++ wrapping</a> section which explains how to call the various C/C++ code constructs from Java. Following this section are details of the C/C++ code and Java classes that SWIG generates. Due to the complexities of C and C++ there are different ways in which C/C++ code could be wrapped and called from Java. SWIG is a powerful tool and the rest of the chapter details how the default code wrapping can be tailored. @@ -189,7 +189,7 @@ The latter sections cover the advanced techniques of using typemaps for complete control of the wrapping process. </p> -<H2><a name="java_preliminaries"></a>21.2 Preliminaries</H2> +<H2><a name="Java_preliminaries"></a>21.2 Preliminaries</H2> <p> @@ -205,7 +205,7 @@ The Java module requires your system to support shared libraries and dynamic loading. This is the commonly used method to load JNI code so your system will more than likely support this.</p> -<H3><a name="running_swig"></a>21.2.1 Running SWIG</H3> +<H3><a name="Java_running_swig"></a>21.2.1 Running SWIG</H3> <p> @@ -254,7 +254,7 @@ </p> <p> -The module name, specified with <tt>%module</tt>, determines the name of various generated classes as discussed <a href=#module_packages_classes>later</a>. +The module name, specified with <tt>%module</tt>, determines the name of various generated classes as discussed <a href=#Java_module_packages_classes>later</a>. Note that the module name does not define a Java package and by default, the generated Java classes do not have a Java package. The <tt>-package</tt> option described below can specify a Java package name to use. </p> @@ -264,7 +264,7 @@ compiling and using the generated files. </p> -<H3><a name="java_commandline"></a>21.2.2 Additional Commandline Options</H3> +<H3><a name="Java_commandline"></a>21.2.2 Additional Commandline Options</H3> <p> @@ -301,7 +301,7 @@ Their use will become clearer by the time you have finished reading this section on SWIG and Java. </p> -<H3><a name="getting_right_headers"></a>21.2.3 Getting the right header files</H3> +<H3><a name="Java_getting_right_headers"></a>21.2.3 Getting the right header files</H3> <p> @@ -316,7 +316,7 @@ <p> The exact location may vary on your machine, but the above locations are typical. </p> -<H3><a name="compiling_dynamic"></a>21.2.4 Compiling a dynamic module</H3> +<H3><a name="Java_compiling_dynamic"></a>21.2.4 Compiling a dynamic module</H3> <p> @@ -344,15 +344,15 @@ <p> <b>Important</b> <br> If you are going to use optimisations turned on with gcc (for example -O2), ensure you also compile with -fno-strict-aliasing. The GCC optimisations have become -more aggressive from gcc-4.0 onwards and will result in code that fails with strict aliasing optimisations turned on. See the <a href="#typemaps_c_to_java_types">C/C++ to Java typemaps</a> section for more details. +more aggressive from gcc-4.0 onwards and will result in code that fails with strict aliasing optimisations turned on. See the <a href="#Java_typemaps_c_to_java_types">C/C++ to Java typemaps</a> section for more details. </p> <p> The name of the shared library output file is important. -If the name of your SWIG module is "<tt>example</tt>", the name of the corresponding shared library file should be "<tt>libexample.so</tt>" (or equivalent depending on your machine, see <a href="#dynamic_linking_problems">Dynamic linking problems</a> for more information). +If the name of your SWIG module is "<tt>example</tt>", the name of the corresponding shared library file should be "<tt>libexample.so</tt>" (or equivalent depending on your machine, see <a href="#Java_dynamic_linking_problems">Dynamic linking problems</a> for more information). The name of the module is specified using the <tt>%module</tt> directive or<tt> -module</tt> command line option.</p> -<H3><a name="using_module"></a>21.2.5 Using your module</H3> +<H3><a name="Java_using_module"></a>21.2.5 Using your module</H3> <p> @@ -387,7 +387,7 @@ If it doesn't work have a look at the following section which discusses problems loading the shared library. </p> -<H3><a name="dynamic_linking_problems"></a>21.2.6 Dynamic linking problems</H3> +<H3><a name="Java_dynamic_linking_problems"></a>21.2.6 Dynamic linking problems</H3> <p> @@ -474,7 +474,7 @@ </p> -<H3><a name="compilation_problems_cpp"></a>21.2.7 Compilation problems and compiling with C++</H3> +<H3><a name="Java_compilation_problems_cpp"></a>21.2.7 Compilation problems and compiling with C++</H3> <p> @@ -527,7 +527,7 @@ </p> -<H3><a name="building_windows"></a>21.2.8 Building on Windows</H3> +<H3><a name="Java_building_windows"></a>21.2.8 Building on Windows</H3> <p> @@ -536,7 +536,7 @@ This section covers the process of using SWIG with Microsoft Visual C++ 6 although the procedure may be similar with other compilers. In order for everything to work, you will need to have a JDK installed on your machine in order to read the JNI header files.</p> -<H4><a name="visual_studio"></a>21.2.8.1 Running SWIG from Visual Studio</H4> +<H4><a name="Java_visual_studio"></a>21.2.8.1 Running SWIG from Visual Studio</H4> <p> @@ -572,10 +572,10 @@ <p> The Java classes that SWIG output should also be compiled into .class files. To run the native code in the DLL (example.dll), make sure that it is in your path then run your Java program which uses it, as described in the previous section. -If the library fails to load have a look at <a href="#dynamic_linking_problems">Dynamic linking problems</a>. +If the library fails to load have a look at <a href="#Java_dynamic_linking_problems">Dynamic linking problems</a>. </p> -<H4><a name="nmake"></a>21.2.8.2 Using NMAKE</H4> +<H4><a name="Java_nmake"></a>21.2.8.2 Using NMAKE</H4> <p> @@ -634,7 +634,7 @@ </p> -<H2><a name="java_basic_tour"></a>21.3 A tour of basic C/C++ wrapping</H2> +<H2><a name="Java_basic_tour"></a>21.3 A tour of basic C/C++ wrapping</H2> <p> @@ -644,7 +644,7 @@ This section briefly covers the essential aspects of this wrapping. </p> -<H3><a name="module_packages_classes"></a>21.3.1 Modules, packages and generated Java classes</H3> +<H3><a name="Java_module_packages_classes"></a>21.3.1 Modules, packages and generated Java classes</H3> <p> @@ -680,7 +680,7 @@ SWIG won't create the directory, so make sure it exists beforehand. </p> -<H3><a name="functions"></a>21.3.2 Functions</H3> +<H3><a name="Java_functions"></a>21.3.2 Functions</H3> <p> @@ -714,7 +714,7 @@ </pre></div> -<H3><a name="global_variables"></a>21.3.3 Global variables</H3> +<H3><a name="Java_global_variables"></a>21.3.3 Global variables</H3> <p> @@ -801,7 +801,7 @@ </div> -<H3><a name="constants"></a>21.3.4 Constants</H3> +<H3><a name="Java_constants"></a>21.3.4 Constants</H3> <p> @@ -941,7 +941,7 @@ </p> -<... [truncated message content] |