blob: d7e5e5b0f04b7f3c3232a99afc428253db1ed42c [file] [log] [blame]
<html>
<head>
<title> SWIG 1.1 Users Manual - Table of Contents </title>
</head>
<body bgcolor="#ffffff">
<h1> SWIG 1.1 Users Manual </h1>
<ul>
<li> <a href="Copyright.html">Copyright</a>
<li> <a href="About.html">About this manual</a>
<li> <a href="Index.html">Alphabetical Topic Index</a>
</ul>
<h2><a href="Preface.html">Preface</a></h2><p><ul>
<li> <a href="Preface.html#n1">Introduction</a>
<li> <a href="Preface.html#n2">SWIG resources</a>
<li> <a href="Preface.html#n3">About this manual</a>
<li> <a href="Preface.html#n4">Credits</a>
<li> <a href="Preface.html#n5">What's new?</a>
<li> <a href="Preface.html#n6">Bug reports</a>
<li> <a href="Preface.html#n7">SWIG is free</a>
</ul>
<h2><a href="Introduction.html">1 Introduction</a></h2><p><ul>
<li> <a href="Introduction.html#n1">What is SWIG?</a>
<li> <a href="Introduction.html#n2">Life before SWIG</a>
<li> <a href="Introduction.html#n3">Life after SWIG</a>
<li> <a href="Introduction.html#n4">The SWIG package</a>
<li> <a href="Introduction.html#n5">A SWIG example</a>
<li> <a href="Introduction.html#n6">C syntax, but not a C compiler</a>
<li> <a href="Introduction.html#n7">Non-intrusive interface building</a>
<li> <a href="Introduction.html#n8">Hands off code generation</a>
<li> <a href="Introduction.html#n9">Event driven C programming</a>
<li> <a href="Introduction.html#n10">Automatic documentation generation</a>
<li> <a href="Introduction.html#n11">Summary</a>
<li> <a href="Introduction.html#n12">SWIG for Windows and Macintosh</a>
</ul>
<h2><a href="Scripting.html">2 Scripting Languages</a></h2><p><ul>
<li> <a href="Scripting.html#n1">The two language view of the world</a>
<li> <a href="Scripting.html#n2">How does a scripting language talk to C?</a>
<li> <a href="Scripting.html#n3">Building scripting language extensions</a>
<li> <a href="Scripting.html#n4">Shared libraries and dynamic loading</a>
</ul>
<h2><a href="SWIG.html">3 SWIG Basics</a></h2><p><ul>
<li> <a href="SWIG.html#n1">Running SWIG</a>
<li> <a href="SWIG.html#n2">Simple C functions, variables, and constants</a>
<li> <a href="SWIG.html#n3">Pointers and complex objects</a>
<li> <a href="SWIG.html#n4">Getting down to business</a>
<li> <a href="SWIG.html#n5">Structures, unions, and object oriented C programming</a>
<li> <a href="SWIG.html#n6">C++ support</a>
<li> <a href="SWIG.html#n7">Objective-C</a>
<li> <a href="SWIG.html#n8">Conditional compilation</a>
<li> <a href="SWIG.html#n9">Code Insertion</a>
<li> <a href="SWIG.html#n10">A general interface building strategy</a>
</ul>
<h2><a href="Library.html">4 Multiple files and the SWIG library</a></h2><p><ul>
<li> <a href="Library.html#n1">The %include directive</a>
<li> <a href="Library.html#n2">The %extern directive</a>
<li> <a href="Library.html#n3">The %import directive</a>
<li> <a href="Library.html#n4">Including files on the command line</a>
<li> <a href="Library.html#n5">The SWIG library</a>
<li> <a href="Library.html#n6">Library example</a>
<li> <a href="Library.html#n7">Creating Library Files</a>
<li> <a href="Library.html#n8">Working with library files</a>
<li> <a href="Library.html#n9">Static initialization of multiple modules</a>
<li> <a href="Library.html#n10">More about the SWIG library</a>
</ul>
<h2><a href="Documentation.html">5 Documentation System</a></h2><p><ul>
<li> <a href="Documentation.html#n1">Introduction</a>
<li> <a href="Documentation.html#n2">How it works</a>
<li> <a href="Documentation.html#n3">Choosing a documentation format</a>
<li> <a href="Documentation.html#n4">Function usage and argument names</a>
<li> <a href="Documentation.html#n5">Titles, sections, and subsections</a>
<li> <a href="Documentation.html#n6">Formatting</a>
<li> <a href="Documentation.html#n7">Adding Additional Text</a>
<li> <a href="Documentation.html#n8">Disabling all documentation</a>
<li> <a href="Documentation.html#n9">An Example</a>
<li> <a href="Documentation.html#n10">ASCII Documentation</a>
<li> <a href="Documentation.html#n11">HTML Documentation</a>
<li> <a href="Documentation.html#n12">LaTeX Documentation</a>
<li> <a href="Documentation.html#n13">C++ Support</a>
<li> <a href="Documentation.html#n14">The Final Word?</a>
</ul>
<h2><a href="Typemaps.html">6 Pointers, Constraints, and Typemaps</a></h2><p><ul>
<li> <a href="Typemaps.html#n1">Introduction</a>
<li> <a href="Typemaps.html#n2">The SWIG Pointer Library</a>
<li> <a href="Typemaps.html#n3">Introduction to typemaps</a>
<li> <a href="Typemaps.html#n4">Managing input and output parameters</a>
<li> <a href="Typemaps.html#n5">Applying constraints to input values</a>
<li> <a href="Typemaps.html#n6">Writing new typemaps</a>
<li> <a href="Typemaps.html#n7">Common typemap methods</a>
<li> <a href="Typemaps.html#n8">Writing typemap code</a>
<li> <a href="Typemaps.html#n9">Typemaps for handling arrays</a>
<li> <a href="Typemaps.html#n10">Typemaps and the SWIG Library</a>
<li> <a href="Typemaps.html#n11">Implementing constraints with typemaps</a>
<li> <a href="Typemaps.html#n12">Typemap examples</a>
<li> <a href="Typemaps.html#n13">How to break everything with a typemap</a>
<li> <a href="Typemaps.html#n14">Typemaps and the future</a>
</ul>
<h2><a href="Exceptions.html">7 Exception Handling</a></h2><p><ul>
<li> <a href="Exceptions.html#n1">The %except directive</a>
<li> <a href="Exceptions.html#n2">Handling exceptions in C code</a>
<li> <a href="Exceptions.html#n3">Exception handling with longjmp()</a>
<li> <a href="Exceptions.html#n4">Handling C++ exceptions</a>
<li> <a href="Exceptions.html#n5">Defining different exception handlers</a>
<li> <a href="Exceptions.html#n6">Using The SWIG exception library</a>
<li> <a href="Exceptions.html#n7">Debugging and other interesting uses for %except</a>
<li> <a href="Exceptions.html#n8">More Examples</a>
</ul>
<h2><a href="Perl5.html">8 SWIG and Perl5</a></h2><p><ul>
<li> <a href="Perl5.html#n1">Preliminaries</a>
<li> <a href="Perl5.html#n2">Building Perl Extensions under Windows 95/NT</a>
<li> <a href="Perl5.html#n3">Modules, packages, and classes</a>
<li> <a href="Perl5.html#n4">Basic Perl interface</a>
<li> <a href="Perl5.html#n5">A simple Perl example</a>
<li> <a href="Perl5.html#n6">Accessing arrays and other strange objects</a>
<li> <a href="Perl5.html#n7">Implementing methods in Perl</a>
<li> <a href="Perl5.html#n8">Shadow classes</a>
<li> <a href="Perl5.html#n9">Getting serious</a>
<li> <a href="Perl5.html#n10">Wrapping C libraries and other packages</a>
<li> <a href="Perl5.html#n11">Building a Perl5 interface to MATLAB</a>
<li> <a href="Perl5.html#n12">Handling output values (the easy way)</a>
<li> <a href="Perl5.html#n13">Exception handling</a>
<li> <a href="Perl5.html#n14">Remapping datatypes with typemaps</a>
<li> <a href="Perl5.html#n15">The gory details on shadow classes</a>
<li> <a href="Perl5.html#n16">Where to go from here?</a>
</ul>
<h2><a href="Python.html">9 SWIG and Python</a></h2><p><ul>
<li> <a href="Python.html#n1">Preliminaries</a>
<li> <a href="Python.html#n2">Building Python Extensions under Windows 95/NT</a>
<li> <a href="Python.html#n3">The low-level Python/C interface</a>
<li> <a href="Python.html#n4">Python shadow classes</a>
<li> <a href="Python.html#n5">About the Examples</a>
<li> <a href="Python.html#n6">Solving a simple heat-equation</a>
<li> <a href="Python.html#n7">Wrapping a C library</a>
<li> <a href="Python.html#n8">Putting it all together</a>
<li> <a href="Python.html#n9">Exception handling</a>
<li> <a href="Python.html#n10">Remapping C datatypes with typemaps</a>
<li> <a href="Python.html#n11">Implementing C callback functions in Python</a>
<li> <a href="Python.html#n12">Other odds and ends</a>
<li> <a href="Python.html#n13">The gory details of shadow classes</a>
</ul>
<h2><a href="Tcl.html">10 SWIG and Tcl</a></h2><p><ul>
<li> <a href="Tcl.html#n1">Preliminaries</a>
<li> <a href="Tcl.html#n2">Building Tcl/Tk Extensions under Windows 95/NT</a>
<li> <a href="Tcl.html#n3">Basic Tcl Interface</a>
<li> <a href="Tcl.html#n4">The object oriented interface</a>
<li> <a href="Tcl.html#n5">About the examples</a>
<li> <a href="Tcl.html#n6">Binary trees in Tcl</a>
<li> <a href="Tcl.html#n7">Building C/C++ data structures with Tk</a>
<li> <a href="Tcl.html#n8">Accessing arrays</a>
<li> <a href="Tcl.html#n9">Building a simple OpenGL module</a>
<li> <a href="Tcl.html#n10">Exception handling</a>
<li> <a href="Tcl.html#n11">Typemaps</a>
<li> <a href="Tcl.html#n12">Configuration management with SWIG</a>
<li> <a href="Tcl.html#n13">Building new kinds of Tcl interfaces (in Tcl)</a>
<li> <a href="Tcl.html#n14">Extending the Tcl Netscape Plugin</a>
<li> <a href="Tcl.html#n15">Tcl8.0 features</a>
</ul>
<h2><a href="Advanced.html">11 Advanced Topics</a></h2><p><ul>
<li> <a href="Advanced.html#n1">Creating multi-module packages</a>
<li> <a href="Advanced.html#n2">Dynamic Loading of C++ modules</a>
<li> <a href="Advanced.html#n3">Inside the SWIG type-checker</a>
</ul>
<h2><a href="Extending.html">12 Extending SWIG</a></h2><p><ul>
<li> <a href="Extending.html#n1">Introduction</a>
<li> <a href="Extending.html#n2">Compiling a SWIG extension</a>
<li> <a href="Extending.html#n3">SWIG output</a>
<li> <a href="Extending.html#n4">The Language class (simple version)</a>
<li> <a href="Extending.html#n5">A tour of SWIG datatypes</a>
<li> <a href="Extending.html#n6">Typemaps (from C)</a>
<li> <a href="Extending.html#n7">File management</a>
<li> <a href="Extending.html#n8">Naming Services</a>
<li> <a href="Extending.html#n9">Code Generation Functions</a>
<li> <a href="Extending.html#n10">Writing a Real Language Module</a>
<li> <a href="Extending.html#n11">C++ Processing</a>
<li> <a href="Extending.html#n12">Documentation Processing</a>
<li> <a href="Extending.html#n13">The Future of SWIG</a>
</ul>
<p><hr>
<address>SWIG 1.1 - Last Modified : Mon Aug 4 10:47:18 1997 </address>
</body>
</html>