Downloads:

236,195

Downloads of v 4.0.2.04082020:

31,552

Last Update:

06 Aug 2020

Package Maintainer(s):

Software Author(s):

  • William Fulton

Tags:

interface-generator wrapper-generator programming-language

Simplified Wrapper and Interface Generator

  • 1
  • 2
  • 3

4.0.2.04082020 | Updated: 06 Aug 2020

Downloads:

236,195

Downloads of v 4.0.2.04082020:

31,552

Software Author(s):

  • William Fulton

  • 1
  • 2
  • 3
Simplified Wrapper and Interface Generator 4.0.2.04082020

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Resulted in Flagged:

This package was submitted (and approved) prior to automated virus scanning integration into the package moderation processs.

We recommend clicking the "Details" link to make your own decision on installing this package.

Details

To install Simplified Wrapper and Interface Generator, run the following command from the command line or from PowerShell:

>

To upgrade Simplified Wrapper and Interface Generator, run the following command from the command line or from PowerShell:

>

To uninstall Simplified Wrapper and Interface Generator, run the following command from the command line or from PowerShell:

>

NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to https://community.chocolatey.org/api/v2)

4. Choose your deployment method:


choco upgrade swig -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade swig -y --source="'STEP 3 URL'"
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Ensure swig installed
  win_chocolatey:
    name: swig
    state: present
    version: 4.0.2.04082020
    source: STEP 3 URL

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'swig' do
  action    :install
  version  '4.0.2.04082020'
  source   'STEP 3 URL'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


Chocolatey::Ensure-Package
(
    Name: swig,
    Version: 4.0.2.04082020,
    Source: STEP 3 URL
);

Requires Otter Chocolatey Extension. See docs at https://inedo.com/den/otter/chocolatey.


cChocoPackageInstaller swig
{
   Name     = 'swig'
   Ensure   = 'Present'
   Version  = '4.0.2.04082020'
   Source   = 'STEP 3 URL'
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'swig':
  provider => 'chocolatey',
  ensure   => '4.0.2.04082020',
  source   => 'STEP 3 URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


salt '*' chocolatey.install swig version="4.0.2.04082020" source="STEP 3 URL"

See docs at https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.chocolatey.html.

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved by moderator gep13 on 31 Aug 2020.

Description

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Perl, PHP, Python, Tcl and Ruby. The list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), D, Go language, Java, Lua, Modula-3, OCAML, Octave and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme/Racket, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG is typically used to parse C/C++ interfaces and generate the 'glue code' required for the above target languages to call into the C/C++ code. SWIG can also export its parse tree in the form of XML and Lisp s-expressions.


tools\install\swigwin-4.0.2\.travis.yml
 
tools\install\swigwin-4.0.2\aclocal.m4
 
tools\install\swigwin-4.0.2\ANNOUNCE
 
tools\install\swigwin-4.0.2\appveyor.yml
 
tools\install\swigwin-4.0.2\autogen.sh
#! /bin/sh

# Bootstrap the development environment - add extra files needed to run configure. 
# Note autoreconf should do what this file achieves, but it has a bug when working with automake!
# The latest config.guess and config.sub should be copied into Tools/config.
# This script will ensure the latest is copied from your autotool installation.

set -e
set -x
test -d Tools/config || mkdir Tools/config
${ACLOCAL-aclocal} -I Tools/config
${AUTOHEADER-autoheader}
${AUTOMAKE-automake} --add-missing --copy --force-missing
${AUTOCONF-autoconf}
cd CCache && ${AUTORECONF-autoreconf}
tools\install\swigwin-4.0.2\CCache\args.c
 
tools\install\swigwin-4.0.2\CCache\ccache-swig.exe
md5: 352CA435F2DDDB713AEA939A92931F05 | sha1: 5DF4FF60A3A35B67CAC594BDC8FA03C2EF0A90C8 | sha256: BFC4EDF3747CD96DF47BBD6F2B114F564B2828515A4FEF7BA3AD980C704BEFF1 | sha512: 2F1D55CC9E2C00515D43C50A8537ECCCA2A9CA62E058AF25CF20A361F10C6DFF810FE2B7FE2518DE8538A7B4178ABC4BFAE7FC1A766476F1BCE97C3903509623
tools\install\swigwin-4.0.2\CCache\ccache.c
 
tools\install\swigwin-4.0.2\CCache\ccache.h
 
tools\install\swigwin-4.0.2\CCache\ccache.yo
 
tools\install\swigwin-4.0.2\CCache\ccache_swig_config.h.in
 
tools\install\swigwin-4.0.2\CCache\cleanup.c
 
tools\install\swigwin-4.0.2\CCache\config.h.in
 
tools\install\swigwin-4.0.2\CCache\configure
 
tools\install\swigwin-4.0.2\CCache\configure.ac
 
tools\install\swigwin-4.0.2\CCache\config_win32.h.in
 
tools\install\swigwin-4.0.2\CCache\COPYING
 
tools\install\swigwin-4.0.2\CCache\debian\changelog
 
tools\install\swigwin-4.0.2\CCache\debian\compat
 
tools\install\swigwin-4.0.2\CCache\debian\control
 
tools\install\swigwin-4.0.2\CCache\debian\copyright
tools\install\swigwin-4.0.2\CCache\debian\dirs
 
tools\install\swigwin-4.0.2\CCache\debian\docs
 
tools\install\swigwin-4.0.2\CCache\debian\examples
 
tools\install\swigwin-4.0.2\CCache\debian\NEWS
 
tools\install\swigwin-4.0.2\CCache\debian\patches\01_no_home.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\02_ccache-compressed.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\03_long_options.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\04_ignore_profile.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\05_nfs_fix.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\06_md.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\07_cachedirtag.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\08_manpage_hyphens.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\09_respect_ldflags.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\10_lru_cleanup.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\11_utimes.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\12_cachesize_permissions.diff
 
tools\install\swigwin-4.0.2\CCache\debian\patches\13_html_links.diff
tools\install\swigwin-4.0.2\CCache\debian\patches\14_hardlink_doc.diff
tools\install\swigwin-4.0.2\CCache\debian\patches\CREDITS
 
tools\install\swigwin-4.0.2\CCache\debian\README.Debian
 
tools\install\swigwin-4.0.2\CCache\debian\rules
 
tools\install\swigwin-4.0.2\CCache\debian\update-ccache
 
tools\install\swigwin-4.0.2\CCache\debian\watch
 
tools\install\swigwin-4.0.2\CCache\execute.c
 
tools\install\swigwin-4.0.2\CCache\hash.c
 
tools\install\swigwin-4.0.2\CCache\install-sh
 
tools\install\swigwin-4.0.2\CCache\Makefile.in
 
tools\install\swigwin-4.0.2\CCache\mdfour.c
 
tools\install\swigwin-4.0.2\CCache\mdfour.h
 
tools\install\swigwin-4.0.2\CCache\packaging\ccache.spec
 
tools\install\swigwin-4.0.2\CCache\packaging\README
 
tools\install\swigwin-4.0.2\CCache\README
 
tools\install\swigwin-4.0.2\CCache\README.swig
 
tools\install\swigwin-4.0.2\CCache\snprintf.c
 
tools\install\swigwin-4.0.2\CCache\stats.c
 
tools\install\swigwin-4.0.2\CCache\test.sh
#!/bin/sh

# a simple test suite for ccache
# [email protected]

if test -n "$CC"; then
 COMPILER="$CC"
else
 COMPILER=cc
fi

if test -n "$SWIG"; then
 SWIG="$SWIG"
else
 SWIG=swig
fi

# fix: Remove ccache from $PATH if it exists
#      as it will influence the unit tests
PATH="`echo $PATH | \
 sed -e 's!:/usr\(/local\)*/lib\([0-9]\)*/ccache\(/\)*!!g'`"

if test -n "$CCACHE"; then
 CCACHE="$CCACHE"
else
 CCACHE=../ccache-swig
fi

TESTDIR=test.$$

test_failed() {
    reason="$1"
    echo $1
    $CCACHE -s
    cd ..
    rm -rf $TESTDIR
    echo TEST FAILED
    exit 1
}

randcode() {
    outfile="$1"
    nlines=$2
    i=0;
    (
    while [ $i -lt $nlines ]; do
	echo "int foo$nlines$i(int x) { return x; }"
	i=`expr $i + 1`
    done
    ) >> "$outfile"
}

genswigcode() {
    outfile="$1"
    nlines=$2
    i=0;
    (
    echo "%module swigtest$2;"
    while [ $i -lt $nlines ]; do
        echo "int foo$nlines$i(int x);"
        echo "struct Bar$nlines$i { int y; };"
        i=`expr $i + 1`
    done
    ) >> "$outfile"
}


getstat() {
    stat="$1"
    value=`$CCACHE -s | grep "$stat" | cut -c34-40`
    echo $value
}

checkstat() {
    stat="$1"
    expected_value="$2"
    value=`getstat "$stat"`
#    echo "exp: $expected_value got: $value $testname"
    if [ "$expected_value" != "$value" ]; then
	test_failed "SUITE: $testsuite TEST: $testname - Expected $stat to be $expected_value got $value"
    fi
}


basetests() {
    echo "starting testsuite $testsuite"
    rm -rf "$CCACHE_DIR"
    checkstat 'cache hit' 0
    checkstat 'cache miss' 0

    j=1
    rm -f *.c
    while [ $j -lt 32 ]; do
	randcode test$j.c $j
	j=`expr $j + 1`
    done

    testname="BASIC"
    $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 0
    checkstat 'cache miss' 1
    
    testname="BASIC2"
    $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 1
    checkstat 'cache miss' 1
    
    testname="debug"
    $CCACHE_COMPILE -c test1.c -g
    checkstat 'cache hit' 1
    checkstat 'cache miss' 2
    
    testname="debug2"
    $CCACHE_COMPILE -c test1.c -g
    checkstat 'cache hit' 2
    checkstat 'cache miss' 2
    
    testname="output"
    $CCACHE_COMPILE -c test1.c -o foo.o
    checkstat 'cache hit' 3
    checkstat 'cache miss' 2

    testname="link"
    $CCACHE_COMPILE test1.c -o test 2> /dev/null
    checkstat 'called for link' 1

    testname="multiple"
    $CCACHE_COMPILE -c test1.c test2.c
    checkstat 'multiple source files' 1

    testname="find"
    $CCACHE blahblah -c test1.c 2> /dev/null
    checkstat "couldn't find the compiler" 1 

    testname="bad"
    $CCACHE_COMPILE -c test1.c -I 2> /dev/null
    checkstat 'bad compiler arguments' 1

    testname="c/c++"
    ln -f test1.c test1.ccc
    $CCACHE_COMPILE -c test1.ccc 2> /dev/null
    checkstat 'not a C/C++ file' 1

    testname="unsupported"
    $CCACHE_COMPILE -M foo -c test1.c > /dev/null 2>&1
    checkstat 'unsupported compiler option' 1

    testname="stdout"
    $CCACHE echo foo -c test1.c > /dev/null
    checkstat 'compiler produced stdout' 1

    testname="non-regular"
    mkdir testd
    $CCACHE_COMPILE -o testd -c test1.c > /dev/null 2>&1
    rm -rf testd
    checkstat 'output to a non-regular file' 1

    testname="no-input"
    $CCACHE_COMPILE -c -O2 2> /dev/null
    checkstat 'no input file' 1


    testname="CCACHE_DISABLE"
    CCACHE_DISABLE=1 $CCACHE_COMPILE -c test1.c 2> /dev/null
    checkstat 'cache hit' 3 
    $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 4 

    testname="CCACHE_CPP2"
    CCACHE_CPP2=1 $CCACHE_COMPILE -c test1.c -O -O
    checkstat 'cache hit' 4 
    checkstat 'cache miss' 3

    CCACHE_CPP2=1 $CCACHE_COMPILE -c test1.c -O -O
    checkstat 'cache hit' 5 
    checkstat 'cache miss' 3

    testname="CCACHE_NOSTATS"
    CCACHE_NOSTATS=1 $CCACHE_COMPILE -c test1.c -O -O
    checkstat 'cache hit' 5
    checkstat 'cache miss' 3
    
    testname="CCACHE_RECACHE"
    CCACHE_RECACHE=1 $CCACHE_COMPILE -c test1.c -O -O
    checkstat 'cache hit' 5 
    checkstat 'cache miss' 4

    # strictly speaking should be 6 - RECACHE causes a double counting!
    checkstat 'files in cache' 8 
    $CCACHE -c > /dev/null
    checkstat 'files in cache' 6


    testname="CCACHE_HASHDIR"
    CCACHE_HASHDIR=1 $CCACHE_COMPILE -c test1.c -O -O
    checkstat 'cache hit' 5
    checkstat 'cache miss' 5

    CCACHE_HASHDIR=1 $CCACHE_COMPILE -c test1.c -O -O
    checkstat 'cache hit' 6
    checkstat 'cache miss' 5

    checkstat 'files in cache' 8
    
    testname="comments"
    echo '/* a silly comment */' > test1-comment.c
    cat test1.c >> test1-comment.c
    $CCACHE_COMPILE -c test1-comment.c
    rm -f test1-comment*
    checkstat 'cache hit' 6
    checkstat 'cache miss' 6

    testname="CCACHE_UNIFY"
    CCACHE_UNIFY=1 $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 6
    checkstat 'cache miss' 7
    mv test1.c test1-saved.c
    echo '/* another comment */' > test1.c
    cat test1-saved.c >> test1.c
    CCACHE_UNIFY=1 $CCACHE_COMPILE -c test1.c
    mv test1-saved.c test1.c
    checkstat 'cache hit' 7
    checkstat 'cache miss' 7

    testname="cache-size"
    for f in *.c; do
	$CCACHE_COMPILE -c $f
    done
    checkstat 'cache hit' 8
    checkstat 'cache miss' 37
    checkstat 'files in cache' 72
    $CCACHE -F 48 -c > /dev/null
    if [ `getstat 'files in cache'` -gt 48 ]; then
	test_failed '-F test failed'
    fi

    testname="cpp call"
    $CCACHE_COMPILE -c test1.c -E > test1.i
    checkstat 'cache hit' 8
    checkstat 'cache miss' 37

    testname="direct .i compile"
    $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 8
    checkstat 'cache miss' 38

    $CCACHE_COMPILE -c test1.i
    checkstat 'cache hit' 9
    checkstat 'cache miss' 38

    $CCACHE_COMPILE -c test1.i
    checkstat 'cache hit' 10
    checkstat 'cache miss' 38

    # removed these tests as some compilers (including newer versions of gcc)
    # determine which language to use based on .ii/.i extension, and C++ may 
    # not be installed
#     testname="direct .ii file"
#     mv test1.i test1.ii
#     $CCACHE_COMPILE -c test1.ii
#     checkstat 'cache hit' 10
#     checkstat 'cache miss' 39

#     $CCACHE_COMPILE -c test1.ii
#     checkstat 'cache hit' 11
#     checkstat 'cache miss' 39
    
    testname="stripc" # This test might not be portable
    CCACHE_STRIPC=1 $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 10
    checkstat 'cache miss' 39

    CCACHE_STRIPC=1 $CCACHE_COMPILE -c test1.c
    checkstat 'cache hit' 11
    checkstat 'cache miss' 39

    testname="zero-stats"
    $CCACHE -z > /dev/null
    checkstat 'cache hit' 0
    checkstat 'cache miss' 0

    testname="clear"
    $CCACHE -C > /dev/null
    checkstat 'files in cache' 0


    rm -f test1.c
}

swigtests() {
    echo "starting swig testsuite $testsuite"
    rm -rf "$CCACHE_DIR"
    checkstat 'cache hit' 0
    checkstat 'cache miss' 0

    j=1
    rm -f *.i
    genswigcode testswig1.i 1

    testname="BASIC"
    $CCACHE_COMPILE -java testswig1.i
    checkstat 'cache hit' 0
    checkstat 'cache miss' 1
    
    checkstat 'files in cache' 6

    testname="BASIC2"
    $CCACHE_COMPILE -java testswig1.i
    checkstat 'cache hit' 1
    checkstat 'cache miss' 1
    
    testname="output"
    $CCACHE_COMPILE -java testswig1.i -o foo_wrap.c
    checkstat 'cache hit' 1
    checkstat 'cache miss' 2

    testname="bad"
    $CCACHE_COMPILE -java testswig1.i -I 2> /dev/null
    checkstat 'bad compiler arguments' 1

    testname="stdout"
    $CCACHE_COMPILE -v -java testswig1.i > /dev/null
    checkstat 'compiler produced stdout' 1

    testname="non-regular"
    mkdir testd
    $CCACHE_COMPILE -o testd -java testswig1.i > /dev/null 2>&1
    rm -rf testd
    checkstat 'output to a non-regular file' 1

    testname="no-input"
    $CCACHE_COMPILE -java 2> /dev/null
    checkstat 'no input file' 1


    testname="CCACHE_DISABLE"
    CCACHE_DISABLE=1 $CCACHE_COMPILE -java testswig1.i 2> /dev/null
    checkstat 'cache hit' 1 
    $CCACHE_COMPILE -java testswig1.i
    checkstat 'cache hit' 2 

    testname="CCACHE_CPP2"
    CCACHE_CPP2=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 2 
    checkstat 'cache miss' 3

    CCACHE_CPP2=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 3 
    checkstat 'cache miss' 3

    testname="CCACHE_NOSTATS"
    CCACHE_NOSTATS=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 3
    checkstat 'cache miss' 3
    
    testname="CCACHE_RECACHE"
    CCACHE_RECACHE=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 3 
    checkstat 'cache miss' 4

    # strictly speaking should be 3x6=18 instead of 4x6=24 - RECACHE causes a double counting!
    checkstat 'files in cache' 24 
    $CCACHE -c > /dev/null
    checkstat 'files in cache' 18


    testname="CCACHE_HASHDIR"
    CCACHE_HASHDIR=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 3
    checkstat 'cache miss' 5

    CCACHE_HASHDIR=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 4
    checkstat 'cache miss' 5

    checkstat 'files in cache' 24
    
    testname="cpp call"
    $CCACHE_COMPILE -java -E testswig1.i > testswig1-preproc.i
    checkstat 'cache hit' 4
    checkstat 'cache miss' 5

    testname="direct .i compile"
    $CCACHE_COMPILE -java testswig1.i
    checkstat 'cache hit' 5
    checkstat 'cache miss' 5

    # No cache hit due to different input file name, -nopreprocess should not be given twice to SWIG
    $CCACHE_COMPILE -java -nopreprocess testswig1-preproc.i
    checkstat 'cache hit' 5
    checkstat 'cache miss' 6

    $CCACHE_COMPILE -java -nopreprocess testswig1-preproc.i
    checkstat 'cache hit' 6
    checkstat 'cache miss' 6

    testname="stripc"
    CCACHE_STRIPC=1 $CCACHE_COMPILE -java -O -O testswig1.i
    checkstat 'cache hit' 7
    checkstat 'cache miss' 6

    CCACHE_STRIPC=1 $CCACHE_COMPILE -java -O -O -O testswig1.i
    checkstat 'cache hit' 7
    checkstat 'cache miss' 7

    rm -f testswig1-preproc.i
    rm -f testswig1.i
}

######
# main program
rm -rf $TESTDIR
mkdir $TESTDIR
if test -n "$CCACHE_PROG"; then
  ln -s $CCACHE $TESTDIR/$CCACHE_PROG
  CCACHE=./$CCACHE_PROG
fi
cd $TESTDIR || exit 1

unset CCACHE_DIR
unset CCACHE_TEMPDIR
unset CCACHE_LOGFILE
unset CCACHE_VERBOSE
unset CCACHE_PATH
unset CCACHE_CC
unset CCACHE_PREFIX
unset CCACHE_DISABLE
unset CCACHE_READONLY
unset CCACHE_CPP2
unset CCACHE_NOCOMPRESS
unset CCACHE_NOSTATS
unset CCACHE_NLEVELS
unset CCACHE_HARDLINK
unset CCACHE_RECACHE
unset CCACHE_UMASK
unset CCACHE_HASHDIR
unset CCACHE_UNIFY
unset CCACHE_EXTENSION
unset CCACHE_STRIPC
unset CCACHE_SWIG

CCACHE_DIR="ccache dir" # with space in directory name (like Windows default)
mkdir "$CCACHE_DIR"
export CCACHE_DIR

testsuite="base"
CCACHE_COMPILE="$CCACHE $COMPILER"
basetests
CCACHE_COMPILE="$CCACHE $SWIG"
swigtests

if test -z "$NOSOFTLINKSTEST"; then
  testsuite="link"
  compilername=`basename $COMPILER`
  ln -s $CCACHE ./$compilername
  CCACHE_COMPILE="./$compilername"
  basetests
  rm "./$compilername"
  compilername=`basename $SWIG`
  ln -s $CCACHE ./$compilername
  CCACHE_COMPILE="./$compilername"
  swigtests
  rm "./$compilername"
else
  echo "skipping testsuite link"
fi

testsuite="hardlink"
CCACHE_COMPILE="env CCACHE_NOCOMPRESS=1 CCACHE_HARDLINK=1 $CCACHE $COMPILER"
basetests
CCACHE_COMPILE="env CCACHE_NOCOMPRESS=1 CCACHE_HARDLINK=1 $CCACHE $SWIG"
swigtests

testsuite="cpp2"
CCACHE_COMPILE="env CCACHE_CPP2=1 $CCACHE $COMPILER"
basetests
CCACHE_COMPILE="env CCACHE_CPP2=1 $CCACHE $SWIG"
swigtests

testsuite="nlevels4"
CCACHE_COMPILE="env CCACHE_NLEVELS=4 $CCACHE $COMPILER"
basetests

testsuite="nlevels1"
CCACHE_COMPILE="env CCACHE_NLEVELS=1 $CCACHE $COMPILER"
basetests

cd ..
rm -rf $TESTDIR
echo test done - OK
exit 0
tools\install\swigwin-4.0.2\CCache\unify.c
 
tools\install\swigwin-4.0.2\CCache\util.c
 
tools\install\swigwin-4.0.2\CCache\web\index.html
 
tools\install\swigwin-4.0.2\CHANGES
 
tools\install\swigwin-4.0.2\CHANGES.current
 
tools\install\swigwin-4.0.2\configure
 
tools\install\swigwin-4.0.2\configure.ac
 
tools\install\swigwin-4.0.2\COPYRIGHT
tools\install\swigwin-4.0.2\Doc\Devel\cmdopt.html
 
tools\install\swigwin-4.0.2\Doc\Devel\engineering.html
 
tools\install\swigwin-4.0.2\Doc\Devel\file.html
 
tools\install\swigwin-4.0.2\Doc\Devel\index.html
 
tools\install\swigwin-4.0.2\Doc\Devel\internals.html
 
tools\install\swigwin-4.0.2\Doc\Devel\migrate.txt
SWIG1.3 Migration Guide 
(The not entirely complete guide to updating language modules to work with SWIG1.3).

Dave Beazley
August 15, 2000

1. Introduction
---------------

Virtually all of SWIG's internal data structures have now been
rewritten.  Take everything you thought you knew about SWIG1.1 and
throw it out.

2. DataTypes
------------
The old 'DataType' data structure is gone.  Therefore, direct
manipulation of 'is_pointer', 'implicit_ptr', and 'arraystr'
attributes no longer applies.  Sorry.

Datatypes are now represented by the type 'SwigType' which has no
public attributes.  Actually, if you look at it closely, 'SwigType' is
really just an alias for 'void' and if you look at it even closer than
that you will realize that it's nothing more than a string!

The string encoding of types is described in more detail in the file
Source/Swig/stype.c and is not so important here. What is important is
the functions used to produce various types of output:

SwigType_str(type,name = 0);
     This produces an exact C representation of the datatype with all
     qualifiers, arrays, references, and so forth.  name is an optional
     name that is given if you wanted to associate the type with a
     parameter name or something.

SwigType_lstr(type,name = 0);
     This function takes a type and produces a C string containing
     a type suitable for assignment (appearing as an lvalue in an
     expression).  To do this, certain things such as 'const',
     arrays, and references are stripped away or converted into
     pointers.  
     
SwigType_ltype(type);
     Returns a SwigType object corresponding to the type created
     by SwigType_lstr().

SwigType_lcaststr(type,name);
     Produces a string casting a value 'name' from the real datatype
     to the assignable type created by SwigType_lstr().

SwigType_rcaststr(type,name)
     Produces a string that casts a value 'name' from the type
     created by SwigType_lstr() to the real datatype.
    
SwigType_manglestr(type)
     Produces the 'mangled' version of a datatype.


Getting the 'type' code.  Most language modules still operate by
looking at special integer type codes.  This interface is a little
ragged and will probably go away at some point.  However, for now the
following function can be used to get the type code:

   int SwigType_type(type)

The codes are the same as the before, except that there are a few 
special codes:

     T_STRING          - The 'char *' type and variations.
     T_POINTER         - Any pointer type (not char * though)
     T_REFERENCE       - Any C++ reference
     T_ARRAY           - Any array
     T_FUNCTION        - A function (this is usually an error).

Because of the special codes, it is no longer necessary to have code like this:

     if ((t->is_pointer == 1) and (t->type == T_CHAR)) {
           ... get a string ...
     }

Instead, just use the type code above like this:

     switch(SwigType_type(type)) {
     case T_STRING:
          ... get a string ...
          break;
     case T_POINTER:
          ... get a pointer ...
          break;
     }

There are about 2-dozen type manipulation functions that could also be useful.
See Source/Swig/swig.h and Source/Swig/stype.c.

3. Parameter Lists
------------------

The ParmList data structure is gone.  In reality, parameter lists are nothing more than
a linked list of parameters.   The proper way to iterate over this list and get
parameter values is as follows:

  ParmList *l;
  Parm *p;

  for (p = l; p; p = Getnext(p)) {
      SwigType *pt = Gettype(p);        /* Get parameter type */
      String   *pn = Getname(p);        /* Get parameter name */
      String   *value = Getvalue(p);    /* Get parameter value */
      ...
      do whatever
      ...
  }

4. Typemaps
-----------

Typemaps more or less work.  However, the interface has changed slightly.  Instead of

     typemap_lookup("in","python",type,pname,"$source","$target",wrapper);

the function is

     Swig_typemap_lookup("in",type,pname,"$source","$target",wrapper);

There are a variety of other changes to typemaps (see CHANGES).

5. Use of new types
-------------------
When possible, language modules should try to use the built in String,
List, and Hash objects instead of C arrays or 'char *'.   This will probably require a
detailed pass through the code with an eye towards cleanup.

6. Miscellaneous
----------------
Language modules no longer need to concern themselves with formatting the
wrapper code they produce (provided you are using the special Wrapper object).
The function Wrapper_print() passes everything through a pretty-printer that
automatically performs indentation and tries to clean things up.   This especially
works well when there are lots of typemaps.


tools\install\swigwin-4.0.2\Doc\Devel\parm.html
 
tools\install\swigwin-4.0.2\Doc\Devel\plan-gsoc-2012.txt
                                                                     
                                                                     
                                                                     
                                             
                   Project Plan
                   ============
                SWIG Code Comments
             Google Summer of Code 2012


This document describes goals for the Google Summer of Code 2012,
SWIG code documentation project.

Author: Marko Klopcic, Dmitry Kabak


Introduction
============

The goal of this project is _not_ to translate _any_ possible Doxygen
formatted comment to JavaDoc or PyDoc, but to make it possible to
translate a subset of comment types in C/C++ code to
JavaDoc and PyDoc. Covering all the Doxygen functionality would be to
complex for the limited time. However, the code must be flexible so
that implementing missing features would not require redesign of the
comment handling code in SWIG.

There will also be a possibility to add untranslated comments to Java
and Python code (## comments, see Doxygen manual), if the user will
prefer to use Doxygen on the generated code.

Note:
'-OK-' tick below means that the item is implemented, committed and
working.

Abbreviations:
    JD - JavaDoc
    PD - PyDoc


Functionality
=============

  Types of comments
  -----------------
  
  Note:
     See 'http://www.stack.nl/~dimitri/doxygen/docblocks.html' for
     the detailed description of Doxygen syntax and terms used in this
     section.

  1. -OK- Only JavaDoc (/** */) and Qt (/*! */) styles of comment blocks
     will be supported by SWIG translator.

  2. -OK- The following doc after members will be supported:
  
     int var; ///< Detailed description after the member
              //!< 

     int var; //!< Brief description after the member

     int var; ///< Brief description after the member
     

  3. -OK- Only comments before or after declaration/definition will be
     supported. Comments with structural commands will be ignored
     (warning will be written). (What about writing them to
     'package.info.java' for JD?)
  

  Tags
  ----

  This section contains all doxygen tags taken from 
  http://www.stack.nl/~dimitri/doxygen/commands.html. If a tag is
  marked as 'ignored', then the tag is ignored, but the text is copied
  to the destination documentation. 'Not implemented' means that the
  tag with it's contents is stripped out of the output.

    Doxygen tags:
    
    All tags: -OK-     

    \a - translated to <i></i> in JD, surrounded with _ in PD
    \addindex - ignored
    \addtogroup - ignored
    \anchor - ignored, not supported by JD and PD 
    \arg - equivalent to \li
    \attention - ignored
    \authors, \author - translated to @author in JD, 'Author:' in PD
    \b - <b></b> in JD, surrounded with __ in PD
    \brief - ignored
    \bug - ignored
    \c - translated to <code></code> in JD, ignored in PD
    \callgraph - ignored, not supported by JD and PD
    \callergraph - ignored, not supported by JD and PD
    \category - ignored, used only in Objective C
    \cite - translated to <i></i> in JD, single quotes in PD
    \class - ignored (structural command)
    \code - translated to {@code ...} in JD, ignored in PD
    \cond - translated to 'Conditional comment: <condition>'. Later
            SWIG may support definitions of conditions in config file.
    \copybrief - ignored. Later SWIG may support this command by
                  performing copy
    \copydetails - ignored. Later SWIG may support this command by
                   performing copy
    \copydoc - ignored. Later SWIG may support this command by
               performing copy
    \copyright - replaced with text 'Copyright' in PD and PD
    \date - ignored
    \def - ignored (structural command)
    \defgroup - not supported
    \deprecated - translated to @deprecated in JD, 'Deprecated:' in PD
    \details - ignored
    \dir - not supported
    \dontinclude - not supported
    \dot - not supported. Later SWIG may call dot and produce the graph image
           to include in JD and PD
    \dotfile - see note for \dot
    \e - equivalent \a
    \else - see note for \cond
    \elseif - see note for \cond
    \em - equivalent to \a
    \endcode - see note for \code
    \endcond - translated to 'End of conditional comment: <condition>'. Later
               SWIG may support definitions of conditions in config file.
    \enddot - see note for \dot
    \endhtmlonly - ignored
    \endif - see note for \cond
    \endinternal - ignored
    \endlatexonly - ignored
    \endlink - see note for \link
    \endmanonly - ignored
    \endmsc - see note for \msc
    \endrtfonly - ignored
    \endverbatim - see note for \verbatim
    \endxmlonly - ignored
    \enum - ignored (structural command)
    \example - translated to 'Example:' in JD and PD
    \exception - equivalent to throws, but translates to @exception in JD 
    \extends - not supported
    \f$ - ignored. Later swig may call LATeX to produce bitmaps with formulas
          to include in JD and PD
    \f[ - see note for \f$
    \f] - see note for \f$
    \f{ - see note for \f$
    \f} - see note for \f$
    \file - ignored (structural command)
    \fn - ignored (structural command)
    \headerfile - not supported
    \hideinitializer - not supported
    \htmlinclude - not supported
    \htmlonly - ignored
    \if - see note for \cond 
    \ifnot - see note for \cond
    \image - translated to <img/> in JD only when target=HTML, translated to
             'Image: filename(Title)'
    \implements - not supported
    \include - not supported
    \includelineno - not supported
    \ingroup - not supported. Later swig may print group names as plain text
               in comments like 'Code group: something' in both JD and PD
    \internal - ignored
    \invariant - ignored
    \interface - ignored (structural command)
    \latexonly - ignored
    \li - trabslated to <li></li> in JD, ignored in PD
    \line - not supported
    \link - translated to {@link ...} in JD, ignored in PD
    \mainpage - ignored
    \manonly - ignored
    \memberof - not supported
    \msc - not supported. Later SWIG may call dot and produce the graph image
           to include in JD and PD
    \mscfile - see note for \msc
    \n - prints the new line
    \name - ignored
    \namespace - included in package-info.java if nspace feature is enabled,
                 otherwise ignored, ignored in PD
    \nosubgrouping - ignored
    \note - translated to 'Note:' in both JD and PD
    \overload - prints 'This is an overloaded member function, provided for
                convenience. It differs from the above function only in what
                argument(s) it accepts.' to the output in both JD and PD
    \p - equivalent to \c
    \package - is kept same in JD (it is already a JD tag), ignored in PD
    \page - ignored
    \par - translated to <p alt='title'></p> in JD, 'Title: ...' in PD 
    \paragraph - ignored
    \param - translated to @param in JD, special formatting in PD
    \post - ignored
    \pre - ignored
    \private - ignored
    \privatesection - ignored
    \property - ignored
    \protected - ignored
    \protectedsection - ignored
    \protocol - ignored (Objective-C tag)
    \public - ignored
    \publicsection - ignored
    \ref - ignored, not supported by JD and PD
    \related - ignored 
    \relates - ignored
    \relatedalso - ignored
    \relatesalso - ignored
    \remark - translated to 'Remarks:' in both JD and PD
    \remarks - equivalent to remark
    \result - translated to @return in JD, 'Return:' in PD
    \return - equivalent to result
    \returns - equivalent to result
    \retval - ignored
    \rtfonly - ignored
    \sa - translated to @see in JD, 'See also:' in PD
    \section - not supported
    \see - equivalent to \sa
    \short - equivalent to \brief
    \showinitializer - not supported
    \since - translated to @since in JD, 'Since:' in PD
    \skip - not supported
    \skipline - not supported
    \snippet - not supported
    \struct - ignored (structural command)
    \subpage - not supported
    \subsection - not supported
    \subsubsection - not supported
    \tableofcontents - not supported
    \test - ignored
    \throw - translated to @throws in JD, 'Throws:' in PD 
    \throws - equivalent to \throw
    \todo - translated to 'TODO:' in both JD and PD
    \tparam - similar to \arg
    \typedef - ignored (structural command)
    \union - ignored (structural command)
    \until - not supported
    \var - ignored (structural command)
    \verbatim - translated to {@literal ...} in JD, ignored in PD
    \verbinclude - ignored
    \version - translated to @version in JD, 'Version:' in PD
    \warning - translated to 'Warning:' in both JD and PD
    \weakgroup - not supported
    \xmlonly - ignored
    \xrefitem - ignored
    \$ - this and all the others below: these commands insert single char,
         it is escaped as HTML char in JD, kept as-is in PD
    \@
    \\
    \&
    \~
    \<
    \>
    \#
    \%
    \"
    \.
    \::

Optional functionality
======================

That section describes some complex cases where the current code
does not behave really well. Like a short to-do list of special cases.

-OK- When translating functions with default parameters in swig to
java, it creates overloaded functions with all the parameters
except the default ones. We need to copy the doxygen comment to
such functions and correct the list of @param tags.

-OK- In doxygen there is a special tags (and even a special option)
to create links to some code members from the current comment.
Sometimes it needs a type of parameters specified because of the
overloaded functions. And the same linking tags are supported in JD,
but it has a completely different typesystem, so we need to translate
the types of function parameters in comments also. For example:
{@link MyClass#doSomething(const std::string &)}
does not make sense in Java, so the type should be converted.
{@link MyClass#doSomething(String)}
 
    
Tests
=====

The following test cases will be implemented:

-OK- Class comments.

-OK- Struct comments.
-OK- Enum comments.
-OK- Function comments.
-OK- Var comments.

-OK- Class attributes, comment before and after declaration.
-OK- Class methods, comment of parameters in function
  comment.
-OK- Class methods, comment of parameters
  after parameter declaration.
  
-OK- Struct attributes, comment before and after declaration.
-OK- Struct methods, comment of parameters in function
  comment.
-OK- Struct methods, comment of parameters 
  after parameter declaration.

-OK- Enum items JD and Qt style, comment before items
-OK- Enum items JD and Qt style, comment after items

-OK- Class comment, with all supported tags.
-OK- Class comment, with all doxygen tags, including
  ignored ones.
  
The list of all tests, in form of shell commands to make it simple
to test project by copying the text below into terminal program.
make doxygen_parsing.cpptest -s
make doxygen_translate.cpptest -s
make doxygen_translate_all_tags.cpptest -s
make doxygen_basic_translate.cpptest -s
make doxygen_basic_notranslate.cpptest -s
make doxygen_translate_links.cpptest -s
make doxygen_tricky_constructs.cpptest -s

  
Refactoring
===========

All the code in directory _Doxygen_ should be refactored:
-OK- all methods should be class members
-OK- most static methods should be normal members
-OK- replace C arrays of strings and sequential searches with STL data
  structures and algorithms.
-OK- use singletons instead of class instantiaion for each comment found.


Documentation
=============

SWIG documentation will contain:
-OK- command line options
-OK- list of implemented features (types and placements of comments)
-OK- list of unimplemented features (types and placements of comments)
-OK- list of tags and their translations (all Doxygen tags).
-OK- some amount of debugging and development information

tools\install\swigwin-4.0.2\Doc\Devel\runtime.txt
This file describes the necessary functions and interfaces a language module
needs to implement to take advantage of the run time type system.  I assume you
have read the run-time section of the Typemaps chapter in the SWIG
documentation.

Last updated: February 23, 2005

The file we are concerned with here should be named langrun.swg.  A good example
of a simple file is the Lib/mzscheme/mzrun.swg file.  First, a few requirements
and notes:

1) Every function in this file should be declared static.  

2) It should be inserted into the runtime section of the _wrap file from your
config file.  The Lib/swigrun.swg file should be included before this file.
That is, you need to have
%runtime "swigrun.swg" 
%runtime "langrun.swg"

3) You must also include the swiginit.swg file in the init section of the
wrapper.  That is, you should have
%insert(init) "swiginit.swg"

4) From module.cxx, you need to call the SwigType_emit_type_table function, as
well as register types with SwigType_remember or SwigType_remember_clientdata

5) By convention, all functions in this file are of the form
SWIG_Language_Whatever, and #defines are used to rename SWIG API functions to
these function names

6) You need to call void SWIG_InitializeModule(void *clientdata) from your init
function.

7) You need to implement the runtimeCode() and defaultExternalRuntimeFilename()
functions inside module.cxx.  runtimeCode should return all the language
specific runtime code as a string, and defaultExternalRuntimeFilename should
return a string for the default name of the external runtime header.  This is
usually "swigpyrun.h", where "py" is replaced by the language name.  These
two functions are used by the -external-runtime argument.

-------------------------------------------------------------------------------
Required Functions
-------------------------------------------------------------------------------
swig_module_info *SWIG_GetModule(void *clientdata);
void SWIG_SetModule(void *clientdata, swig_module_info *mod);

The SetModule function should store the mod argument into some globally
accessible variable in the target language.  The action of these two functions
is to provide a way for multiple modules to share information.  The SetModule
function should create a new global var named something like
"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME
SWIG_RUNTIME_VERSION is currently defined as "2", and SWIG_TYPE_TABLE_NAME is
defined by the -DSWIG_TYPE_TABLE=mytable option when compiling the wrapper.

Alternatively, if the language supports modules, a module named
"swig_runtime_data" SWIG_RUNTIME_VERSION can be created, and a global variable
named "type_table" SWIG_TYPE_TABLE_NAME can be created inside it.  The most
common approach is to store the mod pointer in some global variable in the
target language, but if the language provides an alternative place to store data
then that is good too.

The way the code is set up, SetModule should only be called when GetModule
returns NULL, and if SetModule is called a second time, the behavior is
undefined. Just make sure it doesn't crash in the random chance occurrence that
SetModule is called twice.

There are two options here.  

1) The preferred approach is for GetModule and SetModule to not require a
clientdata pointer.  If you can at all avoid it, please do so.  Here, you would
write swig_module_info *SWIG_Language_GetModule(); 
void SWIG_Language_SetModule(swig_module_info *mod);
and then add
#define SWIG_GetModule(clientdata) SWIG_Language_GetModule()
#define SWIG_SetModule(cd, ptr) SWIG_Language_SetModule(ptr)
You would then call
SWIG_InitializeModule(0)

2) If GetModule and SetModule need to take a custom pointer (most notably an
environment pointer, see tcl or mzscheme), then you should write
swig_module_info *SWIG_Language_GetModule(void *clientdata)
void SWIG_Language_SetModule(void *clientdata, swig_module_info *mod);
and also define
#define SWIG_GetModule(cd) SWIG_Language_GetModule(cd)
#define SWIG_SetModule(cd, ptr) SWIG_Language_SetModule(cd, ptr)
#define SWIG_MODULE_CLIENTDATA_TYPE Whatever
SWIG_MODULE_CLIENTDATA_TYPE should be defined to whatever the type of
clientdata is.

You would then call SWIG_InitializeModule(clientdata), and clientdata would get
passed to GetModule and SetModule.  clientdata will not be stored and will only
be referenced during the InitializeModule call.  After InitializeModule returns,
clientdata does not need to be valid any more.

This method is not preferred, because it makes external access to the type
system more complicated.  See the Modules chapter of the documentation, and read
the "External access to the run-time" section.  Then take a look at
Lib/runtime.swg.  Anybody that calls SWIG_TypeQuery needs to pass along the
clientdata pointer, and that is the reason for defining
SWIG_MODULE_CLIENTDATA_TYPE.

-------------------------------------------------------------------------------
Standard Functions
-------------------------------------------------------------------------------
These functions are not required and their API is not formalized, but almost all
language modules implement them for consistency across languages.  Throughout
this discussion, I will use LangType to represent the underlying language type
(Scheme_Object * in mzscheme, PyObject * in python, etc)



LangObj SWIG_NewPointerObj(void *ptr, swig_type_info *type, int flags);
Create and return a new pointer object that has both ptr and type.  For almost
all language modules, flags is used for ownership.  If flags==1, then the
created pointer should be registered to be garbage collected.



int SWIG_ConvertPtr(LangType obj, void **result, swig_type_info *type, int flags);
Convert a language wrapped pointer into a void *.  The pointer is returned in
result, and the function should return 0 on success, non-zero on error.
A sample ConvertPtr is given here:

  swig_cast_info *cast;

  if (<obj is a wrapped pointer type>) {
    cast = SWIG_TypeCheck(<obj type name>, type);
    cast = SWIG_TypeCheckStruct(<obj type structure>, type);
    if (cast) {
      *result = SWIG_TypeCast(cast, <obj pointer>);
      return 0;
    }
  }
  return 1;

Either TypeCheck or TypeCheckStruct can be called, depending on how the pointer
is wrapped in langtype.  If obj stores the void pointer and the type name, then
the TypeCheck function should be used, while if obj stores the void pointer and
a pointer to the swig_type_info structure, then the TypeCheckStruct function
should be called.  The TypeCheckStruct is slightly faster, since it does a
pointer comparison instead of a strcmp.  

The flag argument to ConvertPtr is used in some languages for disowning a
pointer.  If the wrapped C function is taking ownership of the pointer (that
means, the wrapped C function is responsible for deleting the object), then that
pointer should be removed from the garbage collector.  We do that in the
ConvertPtr function.  The pointer is still valid in the target language, but
when the target language type is garbage collected, it will not call the
associated destructor.  Languages have a special typemap called DISOWN that can be
applied which passes this argument.  All the languages have the flags argument
for consistency, and the flags argument can be ignored or used for some other
purpose.


void *SWIG_MustGetPtr(LangType obj, swig_type_info *type, int flags,
                      int argnum, const char *func_name) {
 void *result;
  if (SWIG_ConvertPtr(s, &result, type, flags)) {
    generate runtime type error ("Error in func_name, expected a" +
                                 type->str ? type->str : "void *" + 
				 "at argument number" + argnum);
  }
  return result;
}
This function is optional, and the number and type of parameters can be
different, but is useful for typemap purposes:
%typemap(in) SWIGTYPE *, SWIGTYPE &, SWIGTYPE [] {
  $1 = ($1_ltype)SWIG_MustGetPtr($input, $descriptor, 0, $argnum, FUNC_NAME);
}
tools\install\swigwin-4.0.2\Doc\Devel\scanner.html
 
tools\install\swigwin-4.0.2\Doc\Devel\tree.html
 
tools\install\swigwin-4.0.2\Doc\Devel\wrapobj.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Allegrocl.html
 
tools\install\swigwin-4.0.2\Doc\Manual\android-class.png
 
tools\install\swigwin-4.0.2\Doc\Manual\android-simple.png
 
tools\install\swigwin-4.0.2\Doc\Manual\Android.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Arguments.html
 
tools\install\swigwin-4.0.2\Doc\Manual\CCache.html
 
tools\install\swigwin-4.0.2\Doc\Manual\ch2.1.png
 
tools\install\swigwin-4.0.2\Doc\Manual\chapters
 
tools\install\swigwin-4.0.2\Doc\Manual\Chicken.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Contents.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Contract.html
 
tools\install\swigwin-4.0.2\Doc\Manual\CPlusPlus11.html
 
tools\install\swigwin-4.0.2\Doc\Manual\CPlusPlus14.html
 
tools\install\swigwin-4.0.2\Doc\Manual\CPlusPlus17.html
 
tools\install\swigwin-4.0.2\Doc\Manual\CSharp.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Customization.html
 
tools\install\swigwin-4.0.2\Doc\Manual\D.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Doxygen.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Extending.html
 
tools\install\swigwin-4.0.2\Doc\Manual\fixstyle.py
#!/usr/bin/python

# Replace the inline htmldoc stylesheet with the SWIG stylesheet

import sys
import string

filename = sys.argv[1]

data = open(filename).read()
open(filename+".bak","w").write(data)

swigstyle = "\n" + open("style.css").read()

lines = data.splitlines()
result = [ ]
skip = False
for s in lines:
    if not skip:
        result.append(s)
    if s == "<STYLE TYPE=\"text/css\"><!--":
        result.append(swigstyle)
        skip = True
    elif s == "--></STYLE>":
        result.append(s)
        skip = False

data = "\n".join(result)

open(filename,"w").write(data)
tools\install\swigwin-4.0.2\Doc\Manual\Go.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Guile.html
 
tools\install\swigwin-4.0.2\Doc\Manual\index.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Introduction.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Java.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Javascript.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Library.html
 
tools\install\swigwin-4.0.2\Doc\Manual\linkchecker.config
[filtering]
ignorewarnings=http-robots-denied
ignorewarnings=https-certificate-error
tools\install\swigwin-4.0.2\Doc\Manual\Lisp.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Lua.html
 
tools\install\swigwin-4.0.2\Doc\Manual\makechap.py
#!/usr/bin/env python

###############################################################################
# Takes a chapter as input and adds internal links and numbering to all
# of the H1, H2, H3, H4 and H5 sections.
#
# Every heading HTML tag (H1, H2 etc) is given an autogenerated name to link
# to. However, if the name is not an autogenerated name from a previous run,
# it will be kept. If it is autogenerated, it might change on subsequent runs
# of this program. Thus if you want to create links to one of the headings,
# then change the heading link name to something that does not look like an
# autogenerated link name.
###############################################################################

import sys
import re
import string

###############################################################################
# Functions
###############################################################################

# Regexs for <a name="..."></a>
alink = re.compile(r"<a *name *= *\"(.*)\">.*</a>", re.IGNORECASE)
heading = re.compile(r"(_nn\d)", re.IGNORECASE)

def getheadingname(m):
    autogeneratedheading = True;
    if m.group(1) != None:
        amatch = alink.match(m.group(1))
        if amatch:
            # A non-autogenerated heading - keep it
            headingname = amatch.group(1)
            autogeneratedheading = heading.match(headingname)
    if autogeneratedheading:
        # The heading name was either non-existent or autogenerated,
        # We can create a new heading / change the existing heading
        headingname = "%s_nn%d" % (filenamebase, nameindex)
    return headingname

# Return heading - 1.1. Introduction in the examples below:
# old style example: <H2><a name="Preface_nn2"></a>1.1 Introduction</H2>
# new style example: <H2><a name="Preface_nn2">1.1 Introduction</a></H2>
def getheadingtext(m, s):
    prevheadingtext_newstyle = m.group(2)
    prevheadingtext_oldstyle = m.group(3)
    if prevheadingtext_oldstyle is None or prevheadingtext_newstyle is None:
        raise RuntimeError("Ill-formed heading in line:\n%s" % s)
    if len(prevheadingtext_oldstyle) == 0 and len(prevheadingtext_newstyle) == 0:
        raise RuntimeError("No heading text in line:\n%s" % s)
    if len(prevheadingtext_oldstyle) > 0 and len(prevheadingtext_newstyle) > 0:
        raise RuntimeError("Two heading texts, only one should be specified in line:\n%s" % s)
    prevheadingtext = prevheadingtext_oldstyle if len(prevheadingtext_oldstyle) > 0 else prevheadingtext_newstyle
    return prevheadingtext

###############################################################################
# Main program
###############################################################################

if len(sys.argv) != 3:
    print "usage: makechap.py filename num"
    sys.exit(1)

filename = sys.argv[1]
filenamebase = string.split(filename,".")[0]
num      = int(sys.argv[2])

section = 0
subsection = 0
subsubsection = 0
nameindex = 0

name = ""

# Regexs for <h1>,... <h5> sections

h1 = re.compile(r".*?<H1>(<a.*?>\s*[\d\.\s]*(.*?)</a>)*[\d\.\s]*(.*?)</H1>", re.IGNORECASE)
h2 = re.compile(r".*?<H2>(<a.*?>\s*[\d\.\s]*(.*?)</a>)*[\d\.\s]*(.*?)</H2>", re.IGNORECASE)
h3 = re.compile(r".*?<H3>(<a.*?>\s*[\d\.\s]*(.*?)</a>)*[\d\.\s]*(.*?)</H3>", re.IGNORECASE)
h4 = re.compile(r".*?<H4>(<a.*?>\s*[\d\.\s]*(.*?)</a>)*[\d\.\s]*(.*?)</H4>", re.IGNORECASE)
h5 = re.compile(r".*?<H5>(<a.*?>\s*[\d\.\s]*(.*?)</a>)*[\d\.\s]*(.*?)</H5>", re.IGNORECASE)

data = open(filename).read()            # Read data
open(filename+".bak","w").write(data)   # Make backup

lines = data.splitlines()
result = [ ] # This is the result of postprocessing the file
index = "<!-- INDEX -->\n<div class=\"sectiontoc\">\n" # index contains the index for adding at the top of the file. Also printed to stdout.

skip = 0
skipspace = 0

for s in lines:
    if s == "<!-- INDEX -->":
        if not skip:
            skip = 1
        else:
            skip = 0
        continue;
    if skip:
        continue

    if not s and skipspace:
        continue

    if skipspace:
        result.append("")
        result.append("")
        skipspace = 0
    
    m = h1.match(s)
    if m:
        prevheadingtext = getheadingtext(m, s)
        nameindex += 1
        headingname = getheadingname(m)
        result.append("""<H1><a name="%s">%d %s</a></H1>""" % (headingname,num,prevheadingtext))
        result.append("@[email protected]")
        section = 0
        subsection = 0
        subsubsection = 0
        subsubsubsection = 0
        name = prevheadingtext
        skipspace = 1
        continue
    m = h2.match(s)
    if m:
        prevheadingtext = getheadingtext(m, s)
        nameindex += 1
        section += 1
        headingname = getheadingname(m)
        result.append("""<H2><a name="%s">%d.%d %s</a></H2>""" % (headingname,num,section, prevheadingtext))

        if subsubsubsection:
            index += "</ul>\n"
        if subsubsection:
            index += "</ul>\n"
        if subsection:
            index += "</ul>\n"
        if section == 1:
            index += "<ul>\n"

        index += """<li><a href="#%s">%s</a>\n""" % (headingname,prevheadingtext)
        subsection = 0
        subsubsection = 0
        subsubsubsection = 0
        skipspace = 1        
        continue
    m = h3.match(s)
    if m:
        prevheadingtext = getheadingtext(m, s)
        nameindex += 1
        subsection += 1
        headingname = getheadingname(m)
        result.append("""<H3><a name="%s">%d.%d.%d %s</a></H3>""" % (headingname,num,section, subsection, prevheadingtext))

        if subsubsubsection:
            index += "</ul>\n"
        if subsubsection:
            index += "</ul>\n"
        if subsection == 1:
            index += "<ul>\n"

        index += """<li><a href="#%s">%s</a>\n""" % (headingname,prevheadingtext)
        subsubsection = 0
        skipspace = 1        
        continue
    m = h4.match(s)
    if m:
        prevheadingtext = getheadingtext(m, s)
        nameindex += 1
        subsubsection += 1

        headingname = getheadingname(m)
        result.append("""<H4><a name="%s">%d.%d.%d.%d %s</a></H4>""" % (headingname,num,section, subsection, subsubsection, prevheadingtext))

        if subsubsubsection:
            index += "</ul>\n"
        if subsubsection == 1:
            index += "<ul>\n"

        index += """<li><a href="#%s">%s</a>\n""" % (headingname,prevheadingtext)
        subsubsubsection = 0
        skipspace = 1        
        continue
    m = h5.match(s)
    if m:
        prevheadingtext = getheadingtext(m, s)
        nameindex += 1
        subsubsubsection += 1
        headingname = getheadingname(m)
        result.append("""<H5><a name="%s">%d.%d.%d.%d.%d %s</a></H5>""" % (headingname,num,section, subsection, subsubsection, subsubsubsection, prevheadingtext))

        if subsubsubsection == 1:
            index += "<ul>\n"

        index += """<li><a href="#%s">%s</a>\n""" % (headingname,prevheadingtext)
        skipspace = 1
        continue
    
    result.append(s)

if subsubsubsection:
    index += "</ul>\n"

if subsubsection:
    index += "</ul>\n"

if subsection:
    index += "</ul>\n"

if section:
    index += "</ul>\n"

index += "</div>\n<!-- INDEX -->\n"

data = "\n".join(result)

data = data.replace("@[email protected]",index) + "\n";

# Write the file back out
open(filename,"w").write(data)

# Print the TOC data to stdout correcting the anchor links for external referencing

index = index.replace("<li><a href=\"#","<li><a href=\"%s#" % filename)
print """<h3><a href="%s#%s">%d %s</a></h3>\n""" % (filename,filenamebase,num,name)
print index

tools\install\swigwin-4.0.2\Doc\Manual\Makefile
 
tools\install\swigwin-4.0.2\Doc\Manual\maketoc.py
#!/usr/bin/env python

import sys
import os
chs = open("chapters").readlines()

f = open("Contents.html","w")
print >>f, """
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>SWIG Users Manual</TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H1><a name="Contents"></a>SWIG Users Manual</H1>

<p>
"""

f.close()

num = 1

for c in chs:
    c = c.strip()
    print "Processing %s" % c
    if c:
        os.system("python makechap.py %s %d >> Contents.html" % (c,num))
    num += 1
    
f = open("Contents.html","a")
print >>f, """
</BODY>
</HTML>
"""


tools\install\swigwin-4.0.2\Doc\Manual\Modula3.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Modules.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Mzscheme.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Ocaml.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Octave.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Perl5.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Php.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Pike.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Preface.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Preprocessor.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Python.html
 
tools\install\swigwin-4.0.2\Doc\Manual\R.html
 
tools\install\swigwin-4.0.2\Doc\Manual\README
 
tools\install\swigwin-4.0.2\Doc\Manual\Ruby.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Scilab.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Scripting.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Sections.html
 
tools\install\swigwin-4.0.2\Doc\Manual\style.css
 
tools\install\swigwin-4.0.2\Doc\Manual\SWIG.html
 
tools\install\swigwin-4.0.2\Doc\Manual\swig16.png
 
tools\install\swigwin-4.0.2\Doc\Manual\SWIGDocumentation.html
 
tools\install\swigwin-4.0.2\Doc\Manual\SWIGDocumentation.pdf
md5: B5024AB027D593844D12631322AA1580 | sha1: AF48476F2545DE1A5F2CE8C1591BD1517CE5A9F7 | sha256: C2622FE6BC41FFE05C0A162FA583E3E44F03DCA6510384C4A022DBAEAC33FF06 | sha512: 710B12A33F5D8E23A3FBB2D74F2F322004EEE41BEB9C556FF29272F8C88ACF0A3E5D9CB38A3AB33F767D758B9159227EE2308908BA0563B609947306B9EA3843
tools\install\swigwin-4.0.2\Doc\Manual\swightml.book
 
tools\install\swigwin-4.0.2\Doc\Manual\SWIGPlus.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Tcl.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Typemaps.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Varargs.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Warnings.html
 
tools\install\swigwin-4.0.2\Doc\Manual\Windows.html
 
tools\install\swigwin-4.0.2\Doc\README
 
tools\install\swigwin-4.0.2\Examples\android\check.list
 
tools\install\swigwin-4.0.2\Examples\android\class\AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.swig.classexample"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="@string/app_name" >
        <activity android:name="SwigClass"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 
tools\install\swigwin-4.0.2\Examples\android\class\ant.properties
 
tools\install\swigwin-4.0.2\Examples\android\class\build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="SwigClass" default="help">

    <!-- The local.properties file is created and updated by the 'android' tool.
         It contains the path to the SDK. It should *NOT* be checked into
         Version Control Systems. -->
    <loadproperties srcFile="local.properties" />

    <!-- The ant.properties file can be created by you. It is only edited by the
         'android' tool to add properties to it.
         This is the place to change some Ant specific build properties.
         Here are some properties you may want to change/update:

         source.dir
             The name of the source directory. Default is 'src'.
         out.dir
             The name of the output directory. Default is 'bin'.

         For other overridable properties, look at the beginning of the rules
         files in the SDK, at tools/ant/build.xml

         Properties related to the SDK location or the project target should
         be updated using the 'android' tool with the 'update' action.

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems.

         -->
    <property file="ant.properties" />

    <!-- The project.properties file is created and updated by the 'android'
         tool, as well as ADT.

         This contains project specific properties such as project target, and library
         dependencies. Lower level build properties are stored in ant.properties
         (or in .classpath for Eclipse projects).

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems. -->
    <loadproperties srcFile="project.properties" />

    <!-- quick check on sdk.dir -->
    <fail
            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
            unless="sdk.dir"
    />


<!-- extension targets. Uncomment the ones where you want to do custom work
     in between standard targets -->
<!--
    <target name="-pre-build">
    </target>
    <target name="-pre-compile">
    </target>

    /* This is typically used for code obfuscation.
       Compiled code location: ${out.classes.absolute.dir}
       If this is not done in place, override ${out.dex.input.absolute.dir} */
    <target name="-post-compile">
    </target>
-->

    <!-- Import the actual build file.

         To customize existing targets, there are two options:
         - Customize only one target:
             - copy/paste the target into this file, *before* the
               <import> task.
             - customize it to your needs.
         - Customize the whole content of build.xml
             - copy/paste the content of the rules files (minus the top node)
               into this file, replacing the <import> task.
             - customize to your needs.

         ***********************
         ****** IMPORTANT ******
         ***********************
         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
         in order to avoid having your file be overridden by tools such as "android update project"
    -->
    <!-- version-tag: 1 -->
    <import file="${sdk.dir}/tools/ant/build.xml" />

</project>
tools\install\swigwin-4.0.2\Examples\android\class\jni\Android.mk
 
tools\install\swigwin-4.0.2\Examples\android\class\jni\example.cpp
 
tools\install\swigwin-4.0.2\Examples\android\class\jni\example.h
 
tools\install\swigwin-4.0.2\Examples\android\class\jni\example.i
 
tools\install\swigwin-4.0.2\Examples\android\class\local.properties
 
tools\install\swigwin-4.0.2\Examples\android\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\android\class\proguard.cfg
 
tools\install\swigwin-4.0.2\Examples\android\class\project.properties
 
tools\install\swigwin-4.0.2\Examples\android\class\res\layout\main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button
    android:id="@+id/RunButton"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="Run..."  
    android:onClick="onRunButtonClick"
    />
<ScrollView
    android:id="@+id/Scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:id="@+id/OutputText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
</ScrollView>
</LinearLayout>
tools\install\swigwin-4.0.2\Examples\android\class\res\values\strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">SwigClass</string>
</resources>
tools\install\swigwin-4.0.2\Examples\android\class\src\org\swig\classexample\SwigClass.java
 
tools\install\swigwin-4.0.2\Examples\android\extend\AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.swig.extendexample"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="@string/app_name" >
        <activity android:name="SwigExtend"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 
tools\install\swigwin-4.0.2\Examples\android\extend\ant.properties
 
tools\install\swigwin-4.0.2\Examples\android\extend\build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="SwigExtend" default="help">

    <!-- The local.properties file is created and updated by the 'android' tool.
         It contains the path to the SDK. It should *NOT* be checked into
         Version Control Systems. -->
    <loadproperties srcFile="local.properties" />

    <!-- The ant.properties file can be created by you. It is only edited by the
         'android' tool to add properties to it.
         This is the place to change some Ant specific build properties.
         Here are some properties you may want to change/update:

         source.dir
             The name of the source directory. Default is 'src'.
         out.dir
             The name of the output directory. Default is 'bin'.

         For other overridable properties, look at the beginning of the rules
         files in the SDK, at tools/ant/build.xml

         Properties related to the SDK location or the project target should
         be updated using the 'android' tool with the 'update' action.

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems.

         -->
    <property file="ant.properties" />

    <!-- The project.properties file is created and updated by the 'android'
         tool, as well as ADT.

         This contains project specific properties such as project target, and library
         dependencies. Lower level build properties are stored in ant.properties
         (or in .classpath for Eclipse projects).

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems. -->
    <loadproperties srcFile="project.properties" />

    <!-- quick check on sdk.dir -->
    <fail
            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
            unless="sdk.dir"
    />


<!-- extension targets. Uncomment the ones where you want to do custom work
     in between standard targets -->
<!--
    <target name="-pre-build">
    </target>
    <target name="-pre-compile">
    </target>

    /* This is typically used for code obfuscation.
       Compiled code location: ${out.classes.absolute.dir}
       If this is not done in place, override ${out.dex.input.absolute.dir} */
    <target name="-post-compile">
    </target>
-->

    <!-- Import the actual build file.

         To customize existing targets, there are two options:
         - Customize only one target:
             - copy/paste the target into this file, *before* the
               <import> task.
             - customize it to your needs.
         - Customize the whole content of build.xml
             - copy/paste the content of the rules files (minus the top node)
               into this file, replacing the <import> task.
             - customize to your needs.

         ***********************
         ****** IMPORTANT ******
         ***********************
         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
         in order to avoid having your file be overridden by tools such as "android update project"
    -->
    <!-- version-tag: 1 -->
    <import file="${sdk.dir}/tools/ant/build.xml" />

</project>
tools\install\swigwin-4.0.2\Examples\android\extend\jni\Android.mk
 
tools\install\swigwin-4.0.2\Examples\android\extend\jni\Application.mk
 
tools\install\swigwin-4.0.2\Examples\android\extend\jni\example.cpp
 
tools\install\swigwin-4.0.2\Examples\android\extend\jni\example.h
 
tools\install\swigwin-4.0.2\Examples\android\extend\jni\example.i
 
tools\install\swigwin-4.0.2\Examples\android\extend\local.properties
 
tools\install\swigwin-4.0.2\Examples\android\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\android\extend\proguard.cfg
 
tools\install\swigwin-4.0.2\Examples\android\extend\project.properties
 
tools\install\swigwin-4.0.2\Examples\android\extend\res\layout\main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button
    android:id="@+id/RunButton"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="Run..."  
    android:onClick="onRunButtonClick"
    />
<ScrollView
    android:id="@+id/Scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:id="@+id/OutputText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
</ScrollView>
</LinearLayout>
tools\install\swigwin-4.0.2\Examples\android\extend\res\values\strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">SwigExtend</string>
</resources>
tools\install\swigwin-4.0.2\Examples\android\extend\src\org\swig\extendexample\SwigExtend.java
 
tools\install\swigwin-4.0.2\Examples\android\simple\AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.swig.simple"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="@string/app_name" >
        <activity android:name="SwigSimple"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 
tools\install\swigwin-4.0.2\Examples\android\simple\ant.properties
 
tools\install\swigwin-4.0.2\Examples\android\simple\build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="SwigSimple" default="help">

    <!-- The local.properties file is created and updated by the 'android' tool.
         It contains the path to the SDK. It should *NOT* be checked into
         Version Control Systems. -->
    <loadproperties srcFile="local.properties" />

    <!-- The ant.properties file can be created by you. It is only edited by the
         'android' tool to add properties to it.
         This is the place to change some Ant specific build properties.
         Here are some properties you may want to change/update:

         source.dir
             The name of the source directory. Default is 'src'.
         out.dir
             The name of the output directory. Default is 'bin'.

         For other overridable properties, look at the beginning of the rules
         files in the SDK, at tools/ant/build.xml

         Properties related to the SDK location or the project target should
         be updated using the 'android' tool with the 'update' action.

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems.

         -->
    <property file="ant.properties" />

    <!-- The project.properties file is created and updated by the 'android'
         tool, as well as ADT.

         This contains project specific properties such as project target, and library
         dependencies. Lower level build properties are stored in ant.properties
         (or in .classpath for Eclipse projects).

         This file is an integral part of the build system for your
         application and should be checked into Version Control Systems. -->
    <loadproperties srcFile="project.properties" />

    <!-- quick check on sdk.dir -->
    <fail
            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'"
            unless="sdk.dir"
    />


<!-- extension targets. Uncomment the ones where you want to do custom work
     in between standard targets -->
<!--
    <target name="-pre-build">
    </target>
    <target name="-pre-compile">
    </target>

    /* This is typically used for code obfuscation.
       Compiled code location: ${out.classes.absolute.dir}
       If this is not done in place, override ${out.dex.input.absolute.dir} */
    <target name="-post-compile">
    </target>
-->

    <!-- Import the actual build file.

         To customize existing targets, there are two options:
         - Customize only one target:
             - copy/paste the target into this file, *before* the
               <import> task.
             - customize it to your needs.
         - Customize the whole content of build.xml
             - copy/paste the content of the rules files (minus the top node)
               into this file, replacing the <import> task.
             - customize to your needs.

         ***********************
         ****** IMPORTANT ******
         ***********************
         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
         in order to avoid having your file be overridden by tools such as "android update project"
    -->
    <!-- version-tag: 1 -->
    <import file="${sdk.dir}/tools/ant/build.xml" />

</project>
tools\install\swigwin-4.0.2\Examples\android\simple\jni\Android.mk
 
tools\install\swigwin-4.0.2\Examples\android\simple\jni\example.c
 
tools\install\swigwin-4.0.2\Examples\android\simple\jni\example.i
 
tools\install\swigwin-4.0.2\Examples\android\simple\local.properties
 
tools\install\swigwin-4.0.2\Examples\android\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\android\simple\proguard.cfg
 
tools\install\swigwin-4.0.2\Examples\android\simple\project.properties
 
tools\install\swigwin-4.0.2\Examples\android\simple\res\layout\main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button
    android:id="@+id/RunButton"  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="Run..."  
    android:onClick="onRunButtonClick"
    />
<ScrollView
    android:id="@+id/Scroller"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:id="@+id/OutputText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
</ScrollView>
</LinearLayout>
tools\install\swigwin-4.0.2\Examples\android\simple\res\values\strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">SwigSimple</string>
</resources>
tools\install\swigwin-4.0.2\Examples\android\simple\src\org\swig\simple\SwigSimple.java
 
tools\install\swigwin-4.0.2\Examples\chicken\check.list
 
tools\install\swigwin-4.0.2\Examples\chicken\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\chicken\class\example.h
 
tools\install\swigwin-4.0.2\Examples\chicken\class\example.i
 
tools\install\swigwin-4.0.2\Examples\chicken\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\chicken\class\runme-lowlevel.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\class\runme-tinyclos.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\chicken\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\chicken\constants\runme.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\Makefile
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\mod1.i
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\mod2.i
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\multi.setup
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\multi_init.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\README
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\single.i
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\single.setup
 
tools\install\swigwin-4.0.2\Examples\chicken\egg\test.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\chicken\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\chicken\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\chicken\multimap\runme.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\overload\example.cxx
 
tools\install\swigwin-4.0.2\Examples\chicken\overload\example.h
 
tools\install\swigwin-4.0.2\Examples\chicken\overload\example.i
 
tools\install\swigwin-4.0.2\Examples\chicken\overload\Makefile
 
tools\install\swigwin-4.0.2\Examples\chicken\overload\README
 
tools\install\swigwin-4.0.2\Examples\chicken\overload\runme.scm
 
tools\install\swigwin-4.0.2\Examples\chicken\README
 
tools\install\swigwin-4.0.2\Examples\chicken\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\chicken\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\chicken\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\chicken\simple\README
 
tools\install\swigwin-4.0.2\Examples\chicken\simple\runme.scm
 
tools\install\swigwin-4.0.2\Examples\contract\simple_c\example.c
 
tools\install\swigwin-4.0.2\Examples\contract\simple_c\example.i
 
tools\install\swigwin-4.0.2\Examples\contract\simple_c\runme1.py
import example 
# Call the Circle() function correctly

x = 1;
y = 1;
r = 3;

c = example.Circle(x, y, r)

# test post-assertion
x = 1;
y = 1;
r = 2;

c = example.Circle(x, y, r)

print "The return value of Circle(%d, %d, %d) is %d" % (x,y,r,c)
tools\install\swigwin-4.0.2\Examples\contract\simple_c\runme2.py
import example 

# Call the Circle() function correctly

x = 1;
y = 1;
r = 3;

c = example.Circle(x, y, r)

print "The return value of Circle(%d, %d, %d) is %d" % (x,y,r,c)

# test pre-assertion
x = 1;
y = -1;
r = 3;

c = example.Circle(x, y, r)

print "The return value of Circle(%d, %d, %d) is %d" % (x,y,r,c)
tools\install\swigwin-4.0.2\Examples\contract\simple_cxx\example.cxx
 
tools\install\swigwin-4.0.2\Examples\contract\simple_cxx\example.h
 
tools\install\swigwin-4.0.2\Examples\contract\simple_cxx\example.i
 
tools\install\swigwin-4.0.2\Examples\contract\simple_cxx\runme1.py
import example 

# Create the Circle object

r = 2;
print "  Creating circle (radium: %d) :" % r
c = example.Circle(r)

# Set the location of the object

c.x = 20
c.y = 30
print "  Here is its current position:"
print "    Circle = (%f, %f)" % (c.x,c.y)

# ----- Call some methods -----

print "\n  Here are some properties of the Circle:"
print "    area      = ", c.area()
print "    perimeter = ", c.perimeter()
dx = 1;
dy = 1;
print "    Moving with (%d, %d)..." % (dx, dy)
c.move(dx, dy)

del c

print "==================================="

# test construction */
r = -1;
print "  Creating circle (radium: %d) :" % r 
c = example.Circle(r)
tools\install\swigwin-4.0.2\Examples\contract\simple_cxx\runme2.py
import example 

# Create the Circle object

r = 2;
print "  Creating circle (radium: %d) :" % r
c = example.Circle(r)

# Set the location of the object

c.x = 20
c.y = 30
print "  Here is its current position:"
print "    Circle = (%f, %f)" % (c.x,c.y)

# ----- Call some methods -----

print "\n  Here are some properties of the Circle:"
print "    area      = ", c.area()
print "    perimeter = ", c.perimeter()
dx = 1;
dy = 1;
print "    Moving with (%d, %d)..." % (dx, dy)
c.move(dx, dy)

del c

print "==================================="

# test area function */
r = 1;
print "  Creating circle (radium: %d) :" % r 
c = example.Circle(r)
# Set the location of the object

c.x = 20
c.y = 30
print "  Here is its current position:"
print "    Circle = (%f, %f)" % (c.x,c.y)

# ----- Call some methods -----

print "\n  Here are some properties of the Circle:"
print "    area      = ", c.area()
tools\install\swigwin-4.0.2\Examples\contract\simple_cxx\runme3.py
import example 

# Create the Circle object

r = 2;
print "  Creating circle (radium: %d) :" % r
c = example.Circle(r)

# Set the location of the object

c.x = 20
c.y = 30
print "  Here is its current position:"
print "    Circle = (%f, %f)" % (c.x,c.y)

# ----- Call some methods -----

print "\n  Here are some properties of the Circle:"
print "    area      = ", c.area()
print "    perimeter = ", c.perimeter()
dx = 1;
dy = 1;
print "    Moving with (%d, %d)..." % (dx, dy)
c.move(dx, dy)

del c

print "==================================="

# test move function */
r = 2;
print "  Creating circle (radium: %d) :" % r 
c = example.Circle(r)
# Set the location of the object

c.x = 20
c.y = 30
print "  Here is its current position:"
print "    Circle = (%f, %f)" % (c.x,c.y)

# ----- Call some methods -----

print "\n  Here are some properties of the Circle:"
print "    area      = ", c.area()
print "    perimeter = ", c.perimeter()

# no error for Circle's pre-assertion
dx = 1;
dy = -1;
print "    Moving with (%d, %d)..." % (dx, dy)
c.move(dx, dy)

# error with Shape's pre-assertion
dx = -1;
dy = 1;
print "    Moving with (%d, %d)..." % (dx, dy)
c.move(dx, dy)
tools\install\swigwin-4.0.2\Examples\csharp\arrays\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\example.c
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\arrays\runme.cs
using System;

public class runme
{
  static void Main() 
  {
    int[] source = { 1, 2, 3 };
    int[] target = new int[ source.Length ];

    example.myArrayCopy( source, target, target.Length );
          
    Console.WriteLine( "Contents of copy target array using default marshaling" );
    PrintArray( target );

    target = new int[ source.Length ];
    
    example.myArrayCopyUsingFixedArrays( source, target, target.Length );
    Console.WriteLine( "Contents of copy target array using fixed arrays" );
    PrintArray( target );

    target = new int[] { 4, 5, 6 };
    example.myArraySwap( source, target, target.Length );
    Console.WriteLine( "Contents of arrays after swapping using default marshaling" );
    PrintArray( source );
    PrintArray( target );
    
    source = new int[] { 1, 2, 3 };
    target = new int[] { 4, 5, 6 };
    
    example.myArraySwapUsingFixedArrays( source, target, target.Length );
    Console.WriteLine( "Contents of arrays after swapping using fixed arrays" );
    PrintArray( source );
    PrintArray( target );
  }
  
  static void PrintArray( int[] a ) 
  {
    foreach ( int i in a ) 
      Console.Write( "{0} ", i );
    Console.WriteLine();
  }
}

tools\install\swigwin-4.0.2\Examples\csharp\callback\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\callback\runme.cs
using System;

public class runme
{
  static void Main() 
  {
    Console.WriteLine("Adding and calling a normal C++ callback");
    Console.WriteLine("----------------------------------------");

    Caller caller = new Caller();
    using (Callback callback = new Callback())
    {
      caller.setCallback(callback);
      caller.call();
      caller.resetCallback();
    }

    Console.WriteLine();
    Console.WriteLine("Adding and calling a C# callback");
    Console.WriteLine("------------------------------------");

    using (Callback callback = new CSharpCallback())
    {
      caller.setCallback(callback);
      caller.call();
      caller.resetCallback();
    }

    Console.WriteLine();
    Console.WriteLine("C# exit");
  }
}

public class CSharpCallback : Callback
{
  public CSharpCallback()
    : base()
  {
  }

  public override void run()
  {
    Console.WriteLine("CSharpCallback.run()");
  }
}

tools\install\swigwin-4.0.2\Examples\csharp\check.list
 
tools\install\swigwin-4.0.2\Examples\csharp\class\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\class\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\csharp\class\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\class\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\class\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\class\runme.cs
// This example illustrates how C++ classes can be used from C# using SWIG.
// The C# class gets mapped onto the C++ class and behaves as if it is a C# class.

using System;

public class runme
{
    static void Main() 
    {
        // ----- Object creation -----

        Console.WriteLine( "Creating some objects:" );

        using (Square s = new Square(10))
        using (Circle c = new Circle(10))
        {
            Console.WriteLine( "    Created circle " + c );
            Console.WriteLine( "    Created square " + s );

            // ----- Access a static member -----

            Console.WriteLine( "\nA total of " + Shape.nshapes + " shapes were created" );

            // ----- Member data access -----

            // Notice how we can do this using functions specific to
            // the 'Circle' class.
            c.x = 20;
            c.y = 30;

            // Now use the same functions in the base class
            Shape shape = s;
            shape.x = -10;
            shape.y = 5;

            Console.WriteLine( "\nHere is their current position:" );
            Console.WriteLine( "    Circle = (" + c.x + " " + c.y + ")" );
            Console.WriteLine( "    Square = (" + s.x + " " + s.y + ")" );

            // ----- Call some methods -----

            Console.WriteLine( "\nHere are some properties of the shapes:" );
            Shape[] shapes = {c,s};
            //            for (int i=0; i<shapes.Size; i++)
            for (int i=0; i<2; i++)
            {
                Console.WriteLine( "   " + shapes[i].ToString() );
                Console.WriteLine( "        area      = " + shapes[i].area() );
                Console.WriteLine( "        perimeter = " + shapes[i].perimeter() );
            }

            // Notice how the area() and perimeter() functions really
            // invoke the appropriate virtual method on each object.

            // ----- Delete everything -----

            Console.WriteLine( "\nGuess I'll clean up now" );

        }
        // Note: when this using scope is exited the C# Dispose() methods 
        // are called which in turn call the C++ destructors

        Console.WriteLine( Shape.nshapes + " shapes remain" );
        Console.WriteLine( "Goodbye" );
    }
}
tools\install\swigwin-4.0.2\Examples\csharp\enum\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\enum\runme.cs
using System;

public class runme
{
    static void Main() 
    {
        // Print out the value of some enums
        Console.WriteLine("*** color ***");
        Console.WriteLine("    " + color.RED + " = " + (int)color.RED);
        Console.WriteLine("    " + color.BLUE + " = " + (int)color.BLUE);
        Console.WriteLine("    " + color.GREEN + " = " + (int)color.GREEN);

        Console.WriteLine("\n*** Foo::speed ***");
        Console.WriteLine("    Foo::" + Foo.speed.IMPULSE + " = " + (int)Foo.speed.IMPULSE);
        Console.WriteLine("    Foo::" + Foo.speed.WARP + " = " + (int)Foo.speed.WARP);
        Console.WriteLine("    Foo::" + Foo.speed.LUDICROUS + " = " + (int)Foo.speed.LUDICROUS);

        Console.WriteLine("\nTesting use of enums with functions\n");

        example.enum_test(color.RED, Foo.speed.IMPULSE);
        example.enum_test(color.BLUE, Foo.speed.WARP);
        example.enum_test(color.GREEN, Foo.speed.LUDICROUS);

        Console.WriteLine( "\nTesting use of enum with class method" );
        Foo f = new Foo();

        f.enum_test(Foo.speed.IMPULSE);
        f.enum_test(Foo.speed.WARP);
        f.enum_test(Foo.speed.LUDICROUS);
    }
}
tools\install\swigwin-4.0.2\Examples\csharp\extend\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\extend\runme.cs
// This file illustrates the cross language polymorphism using directors.

using System;

// CEO class, which overrides Employee::getPosition().

class CEO : Manager {
  public CEO(String name) : base(name) {
  }
  public override String getPosition() {
    return "CEO";
  }
  // Public method to stop the SWIG proxy base class from thinking it owns the underlying C++ memory.
  public void disownMemory() {
    swigCMemOwn = false; 
  } 
}


public class runme
{
  static void Main() 
  {
    // Create an instance of CEO, a class derived from the C# proxy of the 
    // underlying C++ class. The calls to getName() and getPosition() are standard,
    // the call to getTitle() uses the director wrappers to call CEO.getPosition().

    CEO e = new CEO("Alice");
    Console.WriteLine( e.getName() + " is a " + e.getPosition() );
    Console.WriteLine( "Just call her \"" + e.getTitle() + "\"" );
    Console.WriteLine( "----------------------" );

    // Create a new EmployeeList instance.  This class does not have a C++
    // director wrapper, but can be used freely with other classes that do.

    using (EmployeeList list = new EmployeeList()) {

    // EmployeeList owns its items, so we must surrender ownership of objects we add.
    e.disownMemory();
    list.addEmployee(e);
    Console.WriteLine( "----------------------" );

    // Now we access the first four items in list (three are C++ objects that
    // EmployeeList's constructor adds, the last is our CEO). The virtual
    // methods of all these instances are treated the same. For items 0, 1, and
    // 2, all methods resolve in C++. For item 3, our CEO, getTitle calls
    // getPosition which resolves in C#. The call to getPosition is
    // slightly different, however, because of the overridden getPosition() call, since
    // now the object reference has been "laundered" by passing through
    // EmployeeList as an Employee*. Previously, C# resolved the call
    // immediately in CEO, but now C# thinks the object is an instance of
    // class Employee. So the call passes through the
    // Employee proxy class and on to the C wrappers and C++ director,
    // eventually ending up back at the C# CEO implementation of getPosition().
    // The call to getTitle() for item 3 runs the C++ Employee::getTitle()
    // method, which in turn calls getPosition(). This virtual method call
    // passes down through the C++ director class to the C# implementation
    // in CEO. All this routing takes place transparently.

    Console.WriteLine( "(position, title) for items 0-3:" );

    Console.WriteLine( "  " + list.get_item(0).getPosition() + ", \"" + list.get_item(0).getTitle() + "\"" );
    Console.WriteLine( "  " + list.get_item(1).getPosition() + ", \"" + list.get_item(1).getTitle() + "\"" );
    Console.WriteLine( "  " + list.get_item(2).getPosition() + ", \"" + list.get_item(2).getTitle() + "\"" );
    Console.WriteLine( "  " + list.get_item(3).getPosition() + ", \"" + list.get_item(3).getTitle() + "\"" );
    Console.WriteLine( "----------------------" );

    // The using statement ensures the EmployeeList.Dispose() will be called, which will delete all the Employee*
    // items it contains. The last item is our CEO, which gets destroyed as well.
    }
    Console.WriteLine( "----------------------" );

    // All done.

    Console.WriteLine( "C# exit" );
  }
}
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\funcptr\runme.cs

using System;
using System.Reflection;

public class runme {

  public static void Main(String[] args) {


    int a = 37;
    int b = 42;

    // Now call our C function with a bunch of callbacks

    Console.WriteLine( "Trying some C callback functions" );
    Console.WriteLine( "    a        = " + a );
    Console.WriteLine( "    b        = " + b );
    Console.WriteLine( "    ADD(a,b) = " + example.do_op(a,b,example.ADD) );
    Console.WriteLine( "    SUB(a,b) = " + example.do_op(a,b,example.SUB) );
    Console.WriteLine( "    MUL(a,b) = " + example.do_op(a,b,example.MUL) );

    Console.WriteLine( "Here is what the C callback function classes are called in C#" );
    Console.WriteLine( "    ADD      = " + example.ADD.GetType() );
    Console.WriteLine( "    SUB      = " + example.SUB.GetType() );
    Console.WriteLine( "    MUL      = " + example.MUL.GetType() );
  }
}
tools\install\swigwin-4.0.2\Examples\csharp\nested\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\example.cxx
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\nested\runme.cs
// This example illustrates how C++ classes can be used from C# using SWIG.
// The C# class gets mapped onto the C++ class and behaves as if it is a C# class.

using System;

public class runme
{
  static void Main()
  {
    MotorCar car1 = MotorCar.DesignFromComponents("Bumpy", new MotorCar.Wheels(MotorCar.Wheels.Shape.Square, 4), new MotorCar.WindScreen(false));
    MotorCar car2 = MotorCar.DesignFromComponents("Wobbly", new MotorCar.Wheels(MotorCar.Wheels.Shape.Round, 2), new MotorCar.WindScreen(false));
    MotorCar car3 = MotorCar.DesignFromComponents("Batty", new MotorCar.Wheels(MotorCar.Wheels.Shape.Round, 4), new MotorCar.WindScreen(true));
    MotorCar car4 = MotorCar.DesignFromComponents("Spiffing", new MotorCar.Wheels(MotorCar.Wheels.Shape.Round, 4), new MotorCar.WindScreen(false));

    Console.WriteLine("Expert opinion on " + car1.Name() + " : \n  " + car1.WillItWork());
    Console.WriteLine("Expert opinion on " + car2.Name() + " : \n  " + car2.WillItWork());
    Console.WriteLine("Expert opinion on " + car3.Name() + " : \n  " + car3.WillItWork());
    Console.WriteLine("Expert opinion on " + car4.Name() + " : \n  " + car4.WillItWork());

    int count = MotorCar.DesignOpinion.AceDesignCount;
    int total = MotorCar.DesignOpinion.TotalDesignCount;
    int percent = MotorCar.DesignOpinion.PercentScore();
    Console.WriteLine("Overall opinion rating on car design is " + count + "/" + total  + " = " + percent + "%");

    Console.WriteLine("Single square wheel thoughts: " + new MotorCar.Wheels(MotorCar.Wheels.Shape.Square, 1).Opinion().reason);
  }
}
tools\install\swigwin-4.0.2\Examples\csharp\reference\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\reference\runme.cs
// This example illustrates the manipulation of C++ references in C#.

using System;

public class runme {

  public static void Main() 
  {
    Console.WriteLine( "Creating some objects:" );
    Vector a = new Vector(3,4,5);
    Vector b = new Vector(10,11,12);
    
    Console.WriteLine( "    Created " + a.print() );
    Console.WriteLine( "    Created " + b.print() );
    
    // ----- Call an overloaded operator -----
    
    // This calls the wrapper we placed around
    //
    //      operator+(const Vector &a, const Vector &) 
    //
    // It returns a new allocated object.
    
    Console.WriteLine( "Adding a+b" );
    Vector c = example.addv(a,b);
    Console.WriteLine( "    a+b = " + c.print() );
    
    // Note: Unless we free the result, a memory leak will occur if the -noproxy commandline
    // is used as the proxy classes define finalizers which call the Dispose() method. When
    // -noproxy is not specified the memory management is controlled by the garbage collector.
    // You can still call Dispose(). It will free the c++ memory immediately, but not the 
    // C# memory! You then must be careful not to call any member functions as it will 
    // use a NULL c pointer on the underlying c++ object. We set the C# object to null
    // which will then throw a C# exception should we attempt to use it again.
    c.Dispose();
    c = null;
    
    // ----- Create a vector array -----
    
    Console.WriteLine( "Creating an array of vectors" );
    VectorArray va = new VectorArray(10);
    Console.WriteLine( "    va = " + va.ToString() );
    
    // ----- Set some values in the array -----
    
    // These operators copy the value of Vector a and Vector b to the vector array
    va.set(0,a);
    va.set(1,b);
    
    // This works, but it would cause a memory leak if -noproxy was used!
    
    va.set(2,example.addv(a,b));
    

    // Get some values from the array
    
    Console.WriteLine( "Getting some array values" );
    for (int i=0; i<5; i++)
        Console.WriteLine( "    va(" + i + ") = " + va.get(i).print() );
    
    // Watch under resource meter to check on this
    Console.WriteLine( "Making sure we don't leak memory." );
    for (int i=0; i<1000000; i++)
        c = va.get(i%10);
    
    // ----- Clean up -----
    // This could be omitted. The garbage collector would then clean up for us.
    Console.WriteLine( "Cleaning up" );
    va.Dispose();
    a.Dispose();
    b.Dispose();
  }
}
tools\install\swigwin-4.0.2\Examples\csharp\simple\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\simple\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\csharp\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\simple\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\simple\runme.cs
using System;

public class runme
{
    static void Main() 
    {
        // Call our gcd() function

        int x = 42;
        int y = 105;
        int g = example.gcd(x,y);
        Console.WriteLine("The gcd of " + x + " and " + y + " is " + g);

        // Manipulate the Foo global variable

        // Output its current value
        Console.WriteLine("Foo = " + example.Foo);

        // Change its value
        example.Foo = 3.1415926;

        // See if the change took effect
        Console.WriteLine("Foo = " + example.Foo);
    }
}
tools\install\swigwin-4.0.2\Examples\csharp\template\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\template\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\template\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\template\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\template\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\template\runme.cs
// This example illustrates how C++ templates can be used from C#.

using System;

public class runme {

  public static void Main() 
  {
    // Call some templated functions
    Console.WriteLine(example.maxint(3,7));
    Console.WriteLine(example.maxdouble(3.14,2.18));
    
    // Create some class
    
    vecint iv = new vecint(100);
    vecdouble dv = new vecdouble(1000);
    
    for (int i=0; i<100; i++)
        iv.setitem(i,2*i);
    
    for (int i=0; i<1000; i++)
          dv.setitem(i, 1.0/(i+1));
    
    {
        int sum = 0;
        for (int i=0; i<100; i++)
            sum = sum + iv.getitem(i);

        Console.WriteLine(sum);
    }
    
    {
        double sum = 0.0;
        for (int i=0; i<1000; i++)
            sum = sum + dv.getitem(i);
        Console.WriteLine(sum);
    }
  }
}
tools\install\swigwin-4.0.2\Examples\csharp\variables\example-cs.csproj
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\example-vc.vcproj
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\example.sln
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\csharp\variables\runme.cs
// This example illustrates global variable access from C#.

using System;
using System.Reflection;

public class runme {

  public static void Main() {

    // Try to set the values of some global variables

    example.ivar   =  42;
    example.svar   = -31000;
    example.lvar   =  65537;
    example.uivar  =  123456;
    example.usvar  =  61000;
    example.ulvar  =  654321;
    example.scvar  =  -13;
    example.ucvar  =  251;
    example.cvar   =  'S';
    example.fvar   =  (float)3.14159;
    example.dvar   =  2.1828;
    example.strvar =  "Hello World";
    example.iptrvar= example.new_int(37);
    example.ptptr  = example.new_Point(37,42);
    example.name   = "Bill";

    // Now print out the values of the variables

    Console.WriteLine( "Variables (values printed from C#)" );

    Console.WriteLine( "ivar      =" + example.ivar );
    Console.WriteLine( "svar      =" + example.svar );
    Console.WriteLine( "lvar      =" + example.lvar );
    Console.WriteLine( "uivar     =" + example.uivar );
    Console.WriteLine( "usvar     =" + example.usvar );
    Console.WriteLine( "ulvar     =" + example.ulvar );
    Console.WriteLine( "scvar     =" + example.scvar );
    Console.WriteLine( "ucvar     =" + example.ucvar );
    Console.WriteLine( "fvar      =" + example.fvar );
    Console.WriteLine( "dvar      =" + example.dvar );
    Console.WriteLine( "cvar      =" + example.cvar );
    Console.WriteLine( "strvar    =" + example.strvar );
    Console.WriteLine( "cstrvar   =" + example.cstrvar );
    Console.WriteLine( "iptrvar   =" + example.iptrvar );
    Console.WriteLine( "name      =" + example.name );
    Console.WriteLine( "ptptr     =" + example.ptptr + example.Point_print(example.ptptr) );
    Console.WriteLine( "pt        =" + example.pt + example.Point_print(example.pt) );

    Console.WriteLine( "\nVariables (values printed from C)" );

    example.print_vars();

    Console.WriteLine( "\nNow I'm going to try and modify some read only variables" );
    Console.WriteLine( "\nChecking that the read only variables are readonly..." );

    example ex = new example();
    Type t = ex.GetType();

    Console.WriteLine( "     'path'" );
    PropertyInfo pi = t.GetProperty("path");
    if (pi.CanWrite)
      Console.WriteLine("Oh dear this variable is not read only\n");
    else
      Console.WriteLine("Good.");

    Console.WriteLine( "     'status'" );
    pi = t.GetProperty("status");
    if (pi.CanWrite)
      Console.WriteLine("Oh dear this variable is not read only");
    else
      Console.WriteLine("Good.");

    Console.WriteLine( "\nI'm going to try and update a structure variable.\n" );

    example.pt = example.ptptr;

    Console.WriteLine( "The new value is" );
    example.pt_print();
    Console.WriteLine( "You should see the value" + example.Point_print(example.ptptr) );
  }
}
tools\install\swigwin-4.0.2\Examples\d\callback\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\callback\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\d\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\d\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\d\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\check.list
 
tools\install\swigwin-4.0.2\Examples\d\class\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\class\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\d\class\example.h
 
tools\install\swigwin-4.0.2\Examples\d\class\example.i
 
tools\install\swigwin-4.0.2\Examples\d\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\constants\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\constants\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\d\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\enum\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\enum\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\d\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\d\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\d\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\example.mk.in
 
tools\install\swigwin-4.0.2\Examples\d\extend\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\extend\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\d\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\d\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\d\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\funcptr\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\funcptr\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\d\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\d\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\d\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\simple\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\simple\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\d\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\d\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\d\variables\d1\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\variables\d2\runme.d
 
tools\install\swigwin-4.0.2\Examples\d\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\d\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\d\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\d\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\callback\callback.cxx
 
tools\install\swigwin-4.0.2\Examples\go\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\go\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\go\callback\gocallback.go
 
tools\install\swigwin-4.0.2\Examples\go\callback\index.html
 
tools\install\swigwin-4.0.2\Examples\go\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\callback\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\check.list
 
tools\install\swigwin-4.0.2\Examples\go\class\class.cxx
 
tools\install\swigwin-4.0.2\Examples\go\class\example.h
 
tools\install\swigwin-4.0.2\Examples\go\class\example.i
 
tools\install\swigwin-4.0.2\Examples\go\class\index.html
 
tools\install\swigwin-4.0.2\Examples\go\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\class\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\go\constants\index.html
 
tools\install\swigwin-4.0.2\Examples\go\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\constants\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\director\director.go
 
tools\install\swigwin-4.0.2\Examples\go\director\director.h
 
tools\install\swigwin-4.0.2\Examples\go\director\example.i
 
tools\install\swigwin-4.0.2\Examples\go\director\index.html
 
tools\install\swigwin-4.0.2\Examples\go\director\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\director\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\enum\enum.cxx
 
tools\install\swigwin-4.0.2\Examples\go\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\go\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\go\enum\index.html
 
tools\install\swigwin-4.0.2\Examples\go\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\enum\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\extend\ceo.go
 
tools\install\swigwin-4.0.2\Examples\go\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\go\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\go\extend\extend.cxx
 
tools\install\swigwin-4.0.2\Examples\go\extend\index.html
 
tools\install\swigwin-4.0.2\Examples\go\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\extend\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\go\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\go\funcptr\funcptr.c
 
tools\install\swigwin-4.0.2\Examples\go\funcptr\index.html
 
tools\install\swigwin-4.0.2\Examples\go\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\funcptr\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\index.html
 
tools\install\swigwin-4.0.2\Examples\go\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\go\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\multimap\multimap.c
 
tools\install\swigwin-4.0.2\Examples\go\multimap\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\go\pointer\index.html
 
tools\install\swigwin-4.0.2\Examples\go\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\pointer\pointer.c
 
tools\install\swigwin-4.0.2\Examples\go\pointer\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\go\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\go\reference\index.html
 
tools\install\swigwin-4.0.2\Examples\go\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\reference\reference.cxx
 
tools\install\swigwin-4.0.2\Examples\go\reference\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\go\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\go\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\simple\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\simple\simple.c
 
tools\install\swigwin-4.0.2\Examples\go\template\example.h
 
tools\install\swigwin-4.0.2\Examples\go\template\example.i
 
tools\install\swigwin-4.0.2\Examples\go\template\index.html
 
tools\install\swigwin-4.0.2\Examples\go\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\template\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\go\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\go\variables\index.html
 
tools\install\swigwin-4.0.2\Examples\go\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\go\variables\runme.go
 
tools\install\swigwin-4.0.2\Examples\go\variables\variables.c
 
tools\install\swigwin-4.0.2\Examples\guile\check.list
 
tools\install\swigwin-4.0.2\Examples\guile\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\guile\class\example.h
 
tools\install\swigwin-4.0.2\Examples\guile\class\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\class\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\constants\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\matrix.c
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\matrix.i
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\README
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\vector.c
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\vector.h
 
tools\install\swigwin-4.0.2\Examples\guile\matrix\vector.i
 
tools\install\swigwin-4.0.2\Examples\guile\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\guile\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\multimap\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\multivalue\example.c
 
tools\install\swigwin-4.0.2\Examples\guile\multivalue\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\multivalue\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\multivalue\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\port\example.c
 
tools\install\swigwin-4.0.2\Examples\guile\port\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\port\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\port\README
 
tools\install\swigwin-4.0.2\Examples\guile\port\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\README
 
tools\install\swigwin-4.0.2\Examples\guile\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\guile\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\simple\README
 
tools\install\swigwin-4.0.2\Examples\guile\simple\runme.scm
 
tools\install\swigwin-4.0.2\Examples\guile\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\guile\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\guile\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\guile\std_vector\runme.scm
 
tools\install\swigwin-4.0.2\Examples\index.html
 
tools\install\swigwin-4.0.2\Examples\java\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\java\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\java\callback\index.html
 
tools\install\swigwin-4.0.2\Examples\java\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\callback\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\check.list
 
tools\install\swigwin-4.0.2\Examples\java\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\class\example.dsp
 
tools\install\swigwin-4.0.2\Examples\java\class\example.h
 
tools\install\swigwin-4.0.2\Examples\java\class\example.i
 
tools\install\swigwin-4.0.2\Examples\java\class\index.html
 
tools\install\swigwin-4.0.2\Examples\java\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\class\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\java\constants\index.html
 
tools\install\swigwin-4.0.2\Examples\java\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\constants\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\doxygen\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\doxygen\example.dsp
 
tools\install\swigwin-4.0.2\Examples\java\doxygen\example.h
 
tools\install\swigwin-4.0.2\Examples\java\doxygen\example.i
 
tools\install\swigwin-4.0.2\Examples\java\doxygen\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\doxygen\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\java\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\java\enum\index.html
 
tools\install\swigwin-4.0.2\Examples\java\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\enum\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\java\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\java\extend\index.html
 
tools\install\swigwin-4.0.2\Examples\java\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\extend\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\java\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\java\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\java\funcptr\index.html
 
tools\install\swigwin-4.0.2\Examples\java\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\funcptr\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\index.html
 
tools\install\swigwin-4.0.2\Examples\java\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\java\multimap\example.dsp
 
tools\install\swigwin-4.0.2\Examples\java\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\java\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\multimap\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\native\example.i
 
tools\install\swigwin-4.0.2\Examples\java\native\index.html
 
tools\install\swigwin-4.0.2\Examples\java\native\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\native\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\nested\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\nested\example.dsp
 
tools\install\swigwin-4.0.2\Examples\java\nested\example.h
 
tools\install\swigwin-4.0.2\Examples\java\nested\example.i
 
tools\install\swigwin-4.0.2\Examples\java\nested\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\nested\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\java\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\java\pointer\index.html
 
tools\install\swigwin-4.0.2\Examples\java\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\pointer\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\java\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\java\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\java\reference\index.html
 
tools\install\swigwin-4.0.2\Examples\java\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\reference\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\java\simple\example.dsp
 
tools\install\swigwin-4.0.2\Examples\java\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\java\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\java\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\simple\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\template\example.h
 
tools\install\swigwin-4.0.2\Examples\java\template\example.i
 
tools\install\swigwin-4.0.2\Examples\java\template\index.html
 
tools\install\swigwin-4.0.2\Examples\java\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\template\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\typemap\example.i
 
tools\install\swigwin-4.0.2\Examples\java\typemap\index.html
 
tools\install\swigwin-4.0.2\Examples\java\typemap\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\typemap\runme.java
 
tools\install\swigwin-4.0.2\Examples\java\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\java\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\java\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\java\variables\index.html
 
tools\install\swigwin-4.0.2\Examples\java\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\java\variables\runme.java
 
tools\install\swigwin-4.0.2\Examples\javascript\check.list
 
tools\install\swigwin-4.0.2\Examples\javascript\class\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\class\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\class\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\class\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\class\runme.js
var example = require("example");

// ----- Object creation -----

console.log("Creating some objects:");
c = new example.Circle(10);
console.log("Created circle " + c);
s = new example.Square(10);
console.log("Created square " + s);

// ----- Access a static member -----
console.log("\nA total of " + example.Shape.nshapes + " shapes were created"); // access static member as properties of the class object

// ----- Member data access -----
// Set the location of the object.
// Note: methods in the base class Shape are used since
// x and y are defined there.

c.x = 20;
c.y = 30;
s.x = -10;
s.y = 5;

console.log("\nHere is their new position:");
console.log("Circle = (" + c.x + "," + c.y + ")");
console.log("Square = (" + s.x + "," + s.y + ")");

// ----- Call some methods -----
console.log("\nHere are some properties of the shapes:");
console.log("Circle:");
console.log("area = " + c.area() + "");
console.log("perimeter = " + c.perimeter() + "");
console.log("\n");
console.log("Square:");
console.log("area = " + s.area() + "");
console.log("perimeter = " + s.perimeter() + "");

// ----- Delete everything -----
console.log("\nGuess I'll clean up now");
// Note: this invokes the virtual destructor
delete c;
delete s;

console.log(example.Shape.nshapes + " shapes remain");

console.log("Goodbye");
tools\install\swigwin-4.0.2\Examples\javascript\constant\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\constant\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\constant\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\constant\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\constant\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\constant\runme.js
var example = require("example");

console.log("ICONST  = " + example.ICONST  + " (should be 42)");
console.log("FCONST  = " + example.FCONST  + " (should be 2.1828)");
console.log("CCONST  = " + example.CCONST  + " (should be 'x')");  
console.log("CCONST2 = " + example.CCONST2 + " (this should be on a new line)"); 
console.log("SCONST  = " + example.SCONST  + " (should be 'Hello World')");
console.log("SCONST2 = " + example.SCONST2 + " (should be '\"Hello World\"')");
console.log("EXPR    = " + example.EXPR    + " (should be 48.5484)");
console.log("iconst  = " + example.iconst  + " (should be 37)"); 
console.log("fconst  = " + example.fconst  + " (should be 3.14)"); 

console.log("EXTERN = " + example.EXTERN   + " (should be undefined)");
console.log("FOO    = " + example.FOO      + " (should be undefined)");
tools\install\swigwin-4.0.2\Examples\javascript\enum\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\enum\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\enum\runme.js
var example = require("example");

// ----- Object creation -----

// Print out the value of some enums
console.log("*** color ***");
console.log("    RED    =" + example.RED);
console.log("    BLUE   =" + example.BLUE);
console.log("    GREEN  =" + example.GREEN);

console.log("\n*** Foo::speed ***");
console.log("    Foo_IMPULSE   =" + example.Foo.IMPULSE);
console.log("    Foo_WARP      =" + example.Foo.WARP);
console.log("    Foo_LUDICROUS =" + example.Foo.LUDICROUS);

console.log("\nTesting use of enums with functions\n");

example.enum_test(example.RED, example.Foo.IMPULSE);
example.enum_test(example.BLUE,  example.Foo.WARP);
example.enum_test(example.GREEN, example.Foo.LUDICROUS);
example.enum_test(1234,5678);

console.log("\nTesting use of enum with class method");
f = new example.Foo();

f.enum_test(example.Foo.IMPULSE);
f.enum_test(example.Foo.WARP);
f.enum_test(example.Foo.LUDICROUS);

// enum value BLUE of enum color is accessed as property of cconst
console.log("example.BLUE= " + example.BLUE);

// enum value LUDICROUS of enum Foo::speed is accessed as property of cconst
console.log("example.speed.LUDICROUS= " + example.Foo.LUDICROUS); 
tools\install\swigwin-4.0.2\Examples\javascript\example.mk
 
tools\install\swigwin-4.0.2\Examples\javascript\exception\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\exception\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\exception\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\exception\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\exception\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\exception\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\exception\runme.js
var example = require("example");

console.log("Trying to catch some exceptions.");
t = new example.Test();
try{
  t.unknown();
  throw -1;
} catch(error)
{
  if(error == -1) {
    console.log("t.unknown() didn't throw");
  } else {
    console.log("successfully caught throw in Test::unknown().");
  }
}

try{
    t.simple();
    throw -1;
}
catch(error){
  if(error == -1) {
    console.log("t.simple() did not throw");
  } else {
    console.log("successfully caught throw in Test::simple().");
  }
}

try{
  t.message();
  throw -1;
} catch(error){
  if(error == -1) {
    console.log("t.message() did not throw");
  } else {
    console.log("successfully caught throw in Test::message().");
  }
}
    
try{
  t.hosed();
  throw -1;
}
catch(error){ 
  if(error == -1) {
    console.log("t.hosed() did not throw");
  } else {
    console.log("successfully caught throw in Test::hosed().");
  }
}

for (var i=1; i<4; i++) {
  try{
      t.multi(i);
      throw -1;
  }
  catch(error){
    if(error == -1) {
      console.log("t.multi(" + i + ") did not throw");
    } else {
      console.log("successfully caught throw in Test::multi().");
    }
  }
}    
tools\install\swigwin-4.0.2\Examples\javascript\functor\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\functor\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\functor\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\functor\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\functor\runme.js
var example = require("example");

a = new example.intSum(0);
b = new example.doubleSum(100.0);

// Use the objects.  They should be callable just like a normal
// javascript function.

for (i=1;i<=100;i++) 
    a.call(i);                // Note: function call
    b.call(Math.sqrt(i));     // Note: function call

console.log(a.result());
console.log(b.result());

tools\install\swigwin-4.0.2\Examples\javascript\native\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\native\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\native\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\native\index.html
 
tools\install\swigwin-4.0.2\Examples\javascript\native\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\native\runme.js
var example = require("example");

console.log("My magic number is: ", example.magicNumber());
tools\install\swigwin-4.0.2\Examples\javascript\nspace\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\nspace\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\nspace\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\nspace\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\nspace\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\nspace\runme.js
// File: runme.js

// This file illustrates class C++ interface generated
// by SWIG.

var example = require("example");

// Calling a module function ( aka global function )
if (example.module_function() !== 7) {
  throw new Error("example.module_function() should equal 7");
}
console.log("example.module_function(): " + example.module_function());

// Accessing a module (aka global) variable
if (example.module_variable !== 9) {
  throw new Error("example.module_variable should equal 9");
}
console.log("example.module_variable: " + example.module_variable);

// Creating an instance of the class
var w1 = new example.MyWorld.World();
console.log("Creating class instance: w1 = new example.MyWorld.World(): " + w1);

// Accessing class members
if (w1.create_world() !== 17) {
  throw new Error("w1.create_world() should equal 17");
}
console.log("w1.create_world() = " + w1.create_world());

if (w1.world_max_count !== 9) {
  throw new Error("w1.world_max_count should equal 9");
}
console.log("w1.world_max_count = " + w1.world_max_count);

// Accessing enums from class within namespace
if (example.MyWorld.Nested.Dweller.MALE !== 0) {
  throw new Error("example.MyWorld.Nested.Dweller.MALE should equal 0");
}
console.log("Accessing enums: ex.MyWorld.Nested.Dweller.MALE = " + example.MyWorld.Nested.Dweller.MALE);

if (example.MyWorld.Nested.Dweller.FEMALE !== 1) {
  throw new Error("example.MyWorld.Nested.Dweller.FEMALE should equal 1");
}
console.log("Accessing enums: ex.MyWorld.Nested.Dweller.FEMALE = " + example.MyWorld.Nested.Dweller.FEMALE);

// Accessing static member function
if (example.MyWorld.Nested.Dweller.count() !== 19) {
  throw new Error("example.MyWorld.Nested.Dweller.count() should equal 19");
}
console.log("Accessing static member function: ex.MyWorld.Nested.Dweller.count() = " + example.MyWorld.Nested.Dweller.count());
tools\install\swigwin-4.0.2\Examples\javascript\operator\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\operator\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\operator\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\operator\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\operator\runme.js
var example = require("example");

a = new example.Complex(2,3);
b = new example.Complex(-5,10);

console.log ("a =" + a);
console.log ("b   =" + b);

c = a.plus(b);

console.log("c   =" + c);
console.log("a*b =" + a.times(b));
console.log("a-c =" + a.minus(c));

e = example.Complex.copy(a.minus(c));
console.log("e   =" + e);

// Big expression
f = a.plus(b).times(c.plus(b.times(e))).plus(a.uminus());
console.log("f   =" + f);





tools\install\swigwin-4.0.2\Examples\javascript\overload\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\overload\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\overload\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\overload\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\overload\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\overload\runme.js
var example = require("example");

example.f();
example.f(1);
example.f(1, 2);
example.f("bla");
example.f(false);
example.f(11111111111);
example.f_double(1.0);
tools\install\swigwin-4.0.2\Examples\javascript\pointer\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\pointer\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\pointer\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\pointer\runme.js
var example = require("example");

// First create some objects using the pointer library.
console.log("Testing the pointer library");
a = example.new_intp();
b = example.new_intp();
c = example.new_intp();

example.intp_assign(a,37);
example.intp_assign(b,42);

console.log(" a = " + example.intp_value(a));
console.log(" b = " + example.intp_value(b));
console.log(" c = " + example.intp_value(c));

//// Call the add() function with some pointers
example.add(a, b, c);

//
//// Now get the result
r = example.intp_value(c);
console.log(" 37 + 42 = " + r);

// Clean up the pointers
example.delete_intp(a);
example.delete_intp(b);
example.delete_intp(c);

//// Now try the typemap library
//// This should be much easier. Now how it is no longer
//// necessary to manufacture pointers.
//"OUTPUT" Mapping is not supported
//console.log("Trying the typemap library");
//r = example.subtract(37,42);
//console.log("37 - 42 =" + r);
tools\install\swigwin-4.0.2\Examples\javascript\reference\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\reference\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\reference\runme.js
// This file illustrates the manipulation of C++ references in Javascript.
var example = require("example");

// ----- Object creation -----

console.log("Creating some objects:");
a = new example.Vector(3,4,5);
b = new example.Vector(10,11,12);

console.log("   created" + a.print());
console.log("   created" + b.print());

// ----- Call an overloaded operator -----

// This calls the wrapper we placed around operator+(const Vector &a, const Vector &) 
// It returns a new allocated object.

console.log("Adding a+b");
c = example.addv(a, b);
console.log("a+b = " + c.print());


// TODO: Note: Unless we free the result, a memory leak will occur
//delete_Vector(c);

// ----- Create a vector array -----

// Note: Using the high-level interface here
console.log("Creating an array of vectors");
va = new example.VectorArray(10);
console.log("va = " + va);	 

// ----- Set some values in the array -----

// These operators copy the value of a and b to the vector array
va.set(0,a);
va.set(1,b);

// This will work, but it will cause a memory leak!
va.set(2,example.addv(a,b));

// The non-leaky way to do it
//c = addv(a,b);
//va.set(3,c);
//delete_Vector(c);

// Get some values from the array

console.log("Getting some array values");
for (i = 0; i < 5; i++) {
	temp = va.get(i);
    console.log(i,temp.print());
}

// Watch under resource meter to check on this
console.log("Making sure we don't leak memory.");
for (i = 0; i < 1000000; i++) {
    c = va.get(i % 10);
}
//---------TODO---------
//----- Clean up -----
//console.log("Cleaning up");

//example.delete_VectorArray(va);
//example.delete_Vector(a);
//example.delete_Vector(b);

tools\install\swigwin-4.0.2\Examples\javascript\simple\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\simple\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\simple\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\simple\runme.js
var example = require("example");

/* Call our gcd() function */

x = 42;
y = 105;
g = example.gcd(x,y);
console.log("GCD of x and y is=" + g);

/* Manipulate the Foo global variable */

/* Output its current value */
console.log("Global variable Foo=" + example.Foo);

/* Change its value */
example.Foo = 3.1415926;

/* See if the change took effect */
console.log("Variable Foo changed to=" + example.Foo);




 
 
 
tools\install\swigwin-4.0.2\Examples\javascript\template\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\template\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\template\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\template\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\template\runme.js
var example = require("example");

//Call some templated functions
console.log(example.maxint(3,7));
console.log(example.maxdouble(3.14,2.18));

// Create some class

iv = new example.vecint(100);
dv = new example.vecdouble(1000);

for(i=0;i<100;i++)
      iv.setitem(i,2*i);

for(i=0;i<1000;i++)
      dv.setitem(i, 1.0/(i+1));

sum = 0;
for(i=0;i<100;i++)
      sum = sum + iv.getitem(i);

console.log(sum);

sum = 0.0;
for(i=0;i<1000;i++)
      sum = sum + dv.getitem(i);
console.log(sum);

delete iv;
delete dv;
tools\install\swigwin-4.0.2\Examples\javascript\variables\binding.gyp.in
 
tools\install\swigwin-4.0.2\Examples\javascript\variables\example.cxx
 
tools\install\swigwin-4.0.2\Examples\javascript\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\javascript\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\javascript\variables\example.js
module.exports = require("build/Release/example");
tools\install\swigwin-4.0.2\Examples\javascript\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\javascript\variables\runme.js
var example = require("example");

// Try to set the values of some global variables
example.ivar   =  42;
example.svar   = -31000;
example.lvar   =  65537;
example.uivar  =  123456;
example.usvar  =  61000;
example.ulvar  =  654321;
example.scvar  =  -13;
example.ucvar  =  251;
example.cvar   =  "S";
example.fvar   =  3.14159;
example.dvar   =  2.1828;
example.strvar =  "Hello World";
example.iptrvar= example.new_int(37);
example.ptptr  = example.new_Point(37,42);
example.name   = "Bill";

// Now console.log out the values of the variables
console.log("Variables (values printed from Javascript)");
console.log("ivar      = " + example.ivar);
console.log("svar      = " + example.svar);
console.log("lvar      = " + example.lvar);
console.log("uivar     = " + example.uivar);
console.log("usvar     = " + example.usvar);
console.log("ulvar     = " + example.ulvar);
console.log("scvar     = " + example.scvar);
console.log("ucvar     = " + example.ucvar);
console.log("fvar      = " + example.fvar);
console.log("dvar      = " + example.dvar);
console.log("cvar      = " + example.cvar);
console.log("strvar    = " + example.strvar);
console.log("cstrvar   = " + example.cstrvar);
console.log("iptrvar   = " + example.iptrvar);
console.log("name      = " + example.name);
console.log("ptptr     = " + example.ptptr + ": " + example.Point_print(example.ptptr));
console.log("pt        = " + example.pt + ": " + example.Point_print(example.pt));


console.log("\nVariables (values printed from C)");

example.print_vars();

console.log("\nNow I'm going to try and modify some read only variables");

console.log("Trying to set 'path'");
try{
    example.path = "Whoa!";
    console.log("Hey, what's going on?!?! This shouldn't work");
}
catch(e){
    console.log("Good.");
}

console.log("Trying to set 'status'");
try{
    example.status = 0;
    console.log("Hey, what's going on?!?! This shouldn't work");
} catch(e){
    console.log("Good.");
}

console.log("\nI'm going to try and update a structure variable.");
example.pt = example.ptptr;
console.log("The new value is: ");
example.pt_print();
console.log("You should see the value: " + example.Point_print(example.ptptr));
tools\install\swigwin-4.0.2\Examples\lua\arrays\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\arrays\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\arrays\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\arrays\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\check.list
 
tools\install\swigwin-4.0.2\Examples\lua\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\lua\class\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\class\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\class\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\constants\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\dual\dual.cpp
 
tools\install\swigwin-4.0.2\Examples\lua\dual\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\dual\example2.i
 
tools\install\swigwin-4.0.2\Examples\lua\dual\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\embed\embed.c
 
tools\install\swigwin-4.0.2\Examples\lua\embed\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\embed\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\embed\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\embed\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\embed2\embed2.c
 
tools\install\swigwin-4.0.2\Examples\lua\embed2\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\embed2\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\embed2\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\embed2\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\embed3\embed3.cpp
 
tools\install\swigwin-4.0.2\Examples\lua\embed3\example.cpp
 
tools\install\swigwin-4.0.2\Examples\lua\embed3\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\embed3\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\embed3\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\embed3\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\exception\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\exception\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\exception\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\exception\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\funcptr3\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\funcptr3\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\funcptr3\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\funcptr3\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\funcptr3\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\functest\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\functest\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\functest\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\functest\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\functor\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\functor\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\functor\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\import.lua
 
tools\install\swigwin-4.0.2\Examples\lua\import\bar.h
 
tools\install\swigwin-4.0.2\Examples\lua\import\bar.i
 
tools\install\swigwin-4.0.2\Examples\lua\import\base.h
 
tools\install\swigwin-4.0.2\Examples\lua\import\base.i
 
tools\install\swigwin-4.0.2\Examples\lua\import\foo.h
 
tools\install\swigwin-4.0.2\Examples\lua\import\foo.i
 
tools\install\swigwin-4.0.2\Examples\lua\import\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\import\README
 
tools\install\swigwin-4.0.2\Examples\lua\import\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\import\spam.h
 
tools\install\swigwin-4.0.2\Examples\lua\import\spam.i
 
tools\install\swigwin-4.0.2\Examples\lua\lua.c
 
tools\install\swigwin-4.0.2\Examples\lua\nspace\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\nspace\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\nspace\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\nspace\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\owner\example.cxx
 
tools\install\swigwin-4.0.2\Examples\lua\owner\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\owner\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\owner\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\owner\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\pointer\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\simple\runme.lua
 
tools\install\swigwin-4.0.2\Examples\lua\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\lua\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\lua\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\lua\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\lua\variables\runme.lua
 
tools\install\swigwin-4.0.2\Examples\Makefile.in
 
tools\install\swigwin-4.0.2\Examples\modula3\check.list
 
tools\install\swigwin-4.0.2\Examples\modula3\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\modula3\class\example.h
 
tools\install\swigwin-4.0.2\Examples\modula3\class\example.i
 
tools\install\swigwin-4.0.2\Examples\modula3\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\modula3\class\swig.tmpl
 
tools\install\swigwin-4.0.2\Examples\modula3\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\modula3\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\modula3\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\modula3\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\modula3\exception\example.h
 
tools\install\swigwin-4.0.2\Examples\modula3\exception\example.i
 
tools\install\swigwin-4.0.2\Examples\modula3\exception\Makefile
 
tools\install\swigwin-4.0.2\Examples\modula3\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\modula3\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\modula3\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\modula3\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\modula3\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\modula3\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\modula3\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\modula3\typemap\example.i
 
tools\install\swigwin-4.0.2\Examples\modula3\typemap\Makefile
 
tools\install\swigwin-4.0.2\Examples\mzscheme\check.list
 
tools\install\swigwin-4.0.2\Examples\mzscheme\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\mzscheme\class\example.h
 
tools\install\swigwin-4.0.2\Examples\mzscheme\class\example.i
 
tools\install\swigwin-4.0.2\Examples\mzscheme\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\mzscheme\class\runme.scm
 
tools\install\swigwin-4.0.2\Examples\mzscheme\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\mzscheme\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\mzscheme\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\mzscheme\multimap\runme.scm
 
tools\install\swigwin-4.0.2\Examples\mzscheme\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\mzscheme\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\mzscheme\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\mzscheme\simple\runme.scm
 
tools\install\swigwin-4.0.2\Examples\mzscheme\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\mzscheme\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\mzscheme\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\mzscheme\std_vector\runme.scm
 
tools\install\swigwin-4.0.2\Examples\ocaml\argout_ref\example.c
 
tools\install\swigwin-4.0.2\Examples\ocaml\argout_ref\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\argout_ref\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\argout_ref\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\callback\example.c
 
tools\install\swigwin-4.0.2\Examples\ocaml\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\callback\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\check.list
 
tools\install\swigwin-4.0.2\Examples\ocaml\class\example.c
 
tools\install\swigwin-4.0.2\Examples\ocaml\class\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\class\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\class\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\contract\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\contract\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\contract\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\scoped_enum\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\scoped_enum\foo.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\scoped_enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\scoped_enum\README
 
tools\install\swigwin-4.0.2\Examples\ocaml\scoped_enum\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\shapes\example.c
 
tools\install\swigwin-4.0.2\Examples\ocaml\shapes\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\shapes\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\shapes\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\shapes\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\ocaml\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\ocaml\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\simple\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_string\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_string\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_string\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_string\README
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_string\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\std_vector\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\stl\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\stl\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\stl\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\stl\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\strings_test\example.h
 
tools\install\swigwin-4.0.2\Examples\ocaml\strings_test\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\strings_test\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\strings_test\runme.ml
 
tools\install\swigwin-4.0.2\Examples\ocaml\string_from_ptr\example.i
 
tools\install\swigwin-4.0.2\Examples\ocaml\string_from_ptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\ocaml\string_from_ptr\runme.ml
 
tools\install\swigwin-4.0.2\Examples\octave\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\octave\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\callback\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\check.list
 
tools\install\swigwin-4.0.2\Examples\octave\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\octave\class\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\class\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\class\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\constants\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\contract\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\contract\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\contract\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\contract\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\octave\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\enum\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\example.mk
 
tools\install\swigwin-4.0.2\Examples\octave\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\octave\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\extend\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr2\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr2\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr2\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr2\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\funcptr2\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\functor\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\functor\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\functor\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\module_load\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\module_load\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\module_load\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\module_load\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\module_load\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\operator\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\operator\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\operator\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\pointer\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\octave\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\reference\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\simple\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\template\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\template\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\template\runme.m
 
tools\install\swigwin-4.0.2\Examples\octave\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\octave\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\octave\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\octave\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\octave\variables\runme.m
 
tools\install\swigwin-4.0.2\Examples\perl5\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\perl5\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\callback\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\callback\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\check.list
 
tools\install\swigwin-4.0.2\Examples\perl5\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\perl5\class\example.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\class\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\class\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\class\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\class\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\constants\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\constants\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\constants2\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\constants2\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\constants2\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\perl5\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\extend\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\extend\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\perl5\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\funcptr\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\funcptr\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\import\bar.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\import\bar.h
 
tools\install\swigwin-4.0.2\Examples\perl5\import\bar.i
 
tools\install\swigwin-4.0.2\Examples\perl5\import\base.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\import\base.h
 
tools\install\swigwin-4.0.2\Examples\perl5\import\base.i
 
tools\install\swigwin-4.0.2\Examples\perl5\import\example.dsw
 
tools\install\swigwin-4.0.2\Examples\perl5\import\foo.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\import\foo.h
 
tools\install\swigwin-4.0.2\Examples\perl5\import\foo.i
 
tools\install\swigwin-4.0.2\Examples\perl5\import\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\import\README
 
tools\install\swigwin-4.0.2\Examples\perl5\import\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\import\spam.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\import\spam.h
 
tools\install\swigwin-4.0.2\Examples\perl5\import\spam.i
 
tools\install\swigwin-4.0.2\Examples\perl5\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\inline\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\inline\README
 
tools\install\swigwin-4.0.2\Examples\perl5\inline\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\perl5\multimap\example.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\multimap\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\multiple_inheritance\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\multiple_inheritance\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\multiple_inheritance\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\multiple_inheritance\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\perl5\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\pointer\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\pointer\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\perl5\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\reference\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\reference\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\perl5\simple\example.dsp
 
tools\install\swigwin-4.0.2\Examples\perl5\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\simple\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\value\example.c
 
tools\install\swigwin-4.0.2\Examples\perl5\value\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\value\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\value\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\value\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\value\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\perl5\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\variables\index.html
 
tools\install\swigwin-4.0.2\Examples\perl5\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\variables\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\xmlstring\example.cxx
 
tools\install\swigwin-4.0.2\Examples\perl5\xmlstring\example.h
 
tools\install\swigwin-4.0.2\Examples\perl5\xmlstring\example.i
 
tools\install\swigwin-4.0.2\Examples\perl5\xmlstring\Makefile
 
tools\install\swigwin-4.0.2\Examples\perl5\xmlstring\runme.pl
 
tools\install\swigwin-4.0.2\Examples\perl5\xmlstring\xmlstring.i
 
tools\install\swigwin-4.0.2\Examples\php\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\php\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\php\callback\index.html
 
tools\install\swigwin-4.0.2\Examples\php\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\callback\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\check.list
 
tools\install\swigwin-4.0.2\Examples\php\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\class\example.h
 
tools\install\swigwin-4.0.2\Examples\php\class\example.i
 
tools\install\swigwin-4.0.2\Examples\php\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\class\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\php\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\constants\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\cpointer\example.c
 
tools\install\swigwin-4.0.2\Examples\php\cpointer\example.i
 
tools\install\swigwin-4.0.2\Examples\php\cpointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\cpointer\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\disown\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\disown\example.h
 
tools\install\swigwin-4.0.2\Examples\php\disown\example.i
 
tools\install\swigwin-4.0.2\Examples\php\disown\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\disown\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\php\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\php\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\enum\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\php\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\php\extend\index.html
 
tools\install\swigwin-4.0.2\Examples\php\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\extend\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\php\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\php\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\php\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\funcptr\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\overloading\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\overloading\example.h
 
tools\install\swigwin-4.0.2\Examples\php\overloading\example.i
 
tools\install\swigwin-4.0.2\Examples\php\overloading\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\overloading\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\php\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\php\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\pointer\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\pragmas\example.i
 
tools\install\swigwin-4.0.2\Examples\php\pragmas\include.php
 
tools\install\swigwin-4.0.2\Examples\php\pragmas\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\pragmas\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\proxy\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\proxy\example.h
 
tools\install\swigwin-4.0.2\Examples\php\proxy\example.i
 
tools\install\swigwin-4.0.2\Examples\php\proxy\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\proxy\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\php\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\php\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\reference\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\php\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\php\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\simple\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\sync\example.cxx
 
tools\install\swigwin-4.0.2\Examples\php\sync\example.h
 
tools\install\swigwin-4.0.2\Examples\php\sync\example.i
 
tools\install\swigwin-4.0.2\Examples\php\sync\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\sync\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\value\example.c
 
tools\install\swigwin-4.0.2\Examples\php\value\example.h
 
tools\install\swigwin-4.0.2\Examples\php\value\example.i
 
tools\install\swigwin-4.0.2\Examples\php\value\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\value\runme.php
 
tools\install\swigwin-4.0.2\Examples\php\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\php\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\php\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\php\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\php\variables\runme.php
 
tools\install\swigwin-4.0.2\Examples\pike\check.list
 
tools\install\swigwin-4.0.2\Examples\pike\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\pike\class\example.h
 
tools\install\swigwin-4.0.2\Examples\pike\class\example.i
 
tools\install\swigwin-4.0.2\Examples\pike\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\pike\class\runme.pike
 
tools\install\swigwin-4.0.2\Examples\pike\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\pike\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\pike\constants\runme.pike
 
tools\install\swigwin-4.0.2\Examples\pike\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\pike\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\pike\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\pike\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\pike\enum\README
 
tools\install\swigwin-4.0.2\Examples\pike\enum\runme.pike
 
tools\install\swigwin-4.0.2\Examples\pike\overload\example.cxx
 
tools\install\swigwin-4.0.2\Examples\pike\overload\example.h
 
tools\install\swigwin-4.0.2\Examples\pike\overload\example.i
 
tools\install\swigwin-4.0.2\Examples\pike\overload\Makefile
 
tools\install\swigwin-4.0.2\Examples\pike\overload\runme.pike
 
tools\install\swigwin-4.0.2\Examples\pike\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\pike\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\pike\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\pike\simple\runme.pike
 
tools\install\swigwin-4.0.2\Examples\pike\template\example.h
 
tools\install\swigwin-4.0.2\Examples\pike\template\example.i
 
tools\install\swigwin-4.0.2\Examples\pike\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\pike\template\runme.pike
 
tools\install\swigwin-4.0.2\Examples\python\callback\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\callback\example.h
 
tools\install\swigwin-4.0.2\Examples\python\callback\example.i
 
tools\install\swigwin-4.0.2\Examples\python\callback\index.html
 
tools\install\swigwin-4.0.2\Examples\python\callback\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\callback\runme.py
# file: runme.py

# This file illustrates the cross language polymorphism using directors.

import example


class PyCallback(example.Callback):

    def __init__(self):
        example.Callback.__init__(self)

    def run(self):
        print "PyCallback.run()"

# Create an Caller instance

caller = example.Caller()

# Add a simple C++ callback (caller owns the callback, so
# we disown it first by clearing the .thisown flag).

print "Adding and calling a normal C++ callback"
print "----------------------------------------"

callback = example.Callback()
callback.thisown = 0
caller.setCallback(callback)
caller.call()
caller.delCallback()

print
print "Adding and calling a Python callback"
print "------------------------------------"

# Add a Python callback (caller owns the callback, so we
# disown it first by calling __disown__).

caller.setCallback(PyCallback().__disown__())
caller.call()
caller.delCallback()

print
print "Adding and calling another Python callback"
print "------------------------------------------"

# Let's do the same but use the weak reference this time.

callback = PyCallback().__disown__()
caller.setCallback(callback)
caller.call()
caller.delCallback()

# All done.

print
print "python exit"
tools\install\swigwin-4.0.2\Examples\python\check.list
 
tools\install\swigwin-4.0.2\Examples\python\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\class\example.dsp
 
tools\install\swigwin-4.0.2\Examples\python\class\example.h
 
tools\install\swigwin-4.0.2\Examples\python\class\example.i
 
tools\install\swigwin-4.0.2\Examples\python\class\index.html
 
tools\install\swigwin-4.0.2\Examples\python\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\class\runme.py
# file: runme.py

# This file illustrates the proxy class C++ interface generated
# by SWIG.

import example

# ----- Object creation -----

print "Creating some objects:"
c = example.Circle(10)
print "    Created circle", c
s = example.Square(10)
print "    Created square", s

# ----- Access a static member -----

print "\nA total of", example.cvar.Shape_nshapes, "shapes were created"

# ----- Member data access -----

# Set the location of the object

c.x = 20
c.y = 30

s.x = -10
s.y = 5

print "\nHere is their current position:"
print "    Circle = (%f, %f)" % (c.x, c.y)
print "    Square = (%f, %f)" % (s.x, s.y)

# ----- Call some methods -----

print "\nHere are some properties of the shapes:"
for o in [c, s]:
    print "   ", o
    print "        area      = ", o.area()
    print "        perimeter = ", o.perimeter()
# prevent o from holding a reference to the last object looked at
o = None

print "\nGuess I'll clean up now"

# Note: this invokes the virtual destructor
del c
del s

print example.cvar.Shape_nshapes, "shapes remain"
print "Goodbye"
tools\install\swigwin-4.0.2\Examples\python\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\python\constants\index.html
 
tools\install\swigwin-4.0.2\Examples\python\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\constants\runme.py
# file: runme.py

import example

print "ICONST  =", example.ICONST, "(should be 42)"
print "FCONST  =", example.FCONST, "(should be 2.1828)"
print "CCONST  =", example.CCONST, "(should be 'x')"
print "CCONST2 =", example.CCONST2, "(this should be on a new line)"
print "SCONST  =", example.SCONST, "(should be 'Hello World')"
print "SCONST2 =", example.SCONST2, "(should be '\"Hello World\"')"
print "EXPR    =", example.EXPR, "(should be 48.5484)"
print "iconst  =", example.iconst, "(should be 37)"
print "fconst  =", example.fconst, "(should be 3.14)"

try:
    print "EXTERN = ", example.EXTERN, "(Arg! This shouldn't print anything)"
except AttributeError:
    print "EXTERN isn't defined (good)"

try:
    print "FOO    = ", example.FOO, "(Arg! This shouldn't print anything)"
except AttributeError:
    print "FOO isn't defined (good)"
tools\install\swigwin-4.0.2\Examples\python\contract\example.c
 
tools\install\swigwin-4.0.2\Examples\python\contract\example.dsp
 
tools\install\swigwin-4.0.2\Examples\python\contract\example.i
 
tools\install\swigwin-4.0.2\Examples\python\contract\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\contract\runme.py
# file: runme.py

import example

# Call our gcd() function

x = 42
y = 105
g = example.gcd(x, y)
print "The gcd of %d and %d is %d" % (x, y, g)

# Manipulate the Foo global variable

# Output its current value
print "Foo = ", example.cvar.Foo

# Change its value
example.cvar.Foo = 3.1415926

# See if the change took effect
print "Foo = ", example.cvar.Foo
tools\install\swigwin-4.0.2\Examples\python\docstrings\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\docstrings\example.h
 
tools\install\swigwin-4.0.2\Examples\python\docstrings\example.i
 
tools\install\swigwin-4.0.2\Examples\python\docstrings\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\docstrings\runme.py
# file: runme.py

import example

print "example.Foo.bar.__doc__  =", repr(example.Foo.bar.__doc__), "(Should be 'No comment')"
tools\install\swigwin-4.0.2\Examples\python\doxygen\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\doxygen\example.dsp
 
tools\install\swigwin-4.0.2\Examples\python\doxygen\example.h
 
tools\install\swigwin-4.0.2\Examples\python\doxygen\example.i
 
tools\install\swigwin-4.0.2\Examples\python\doxygen\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\doxygen\runme.py
# This example shows simple usage of the wrapped Shape classes.
# The main purpose of this example is to show the doxygen comments translation to PyDoc comments.
# Users should look at the generated example.py file.
# The generated PyDoc can be viewed in a browser by opening the example.html file.

import example

print "Creating some objects:"
c = example.MakeCircle(10)
print "    Created circle", c
s = example.MakeSquare(10)
print "    Created square", s
r = example.MakeRectangleInt(10, 20)
print "    Created rectangle", r

print "\nHere are some properties of the shapes:"
for o in [c, s, r]:
    print "   ", o
    print "        area      = ", o.area()
    print "        perimeter = ", o.perimeter()

print "\nRunning pydoc, this is the equivalent to executing: pydoc -w ./example.py"

import pydoc

pydoc.writedoc("example")

print "Open example.html in your browser to view the generated python docs"
tools\install\swigwin-4.0.2\Examples\python\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\python\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\python\enum\index.html
 
tools\install\swigwin-4.0.2\Examples\python\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\enum\runme.py
# file: runme.py

import example

# ----- Object creation -----

# Print out the value of some enums
print "*** color ***"
print "    RED    =", example.RED
print "    BLUE   =", example.BLUE
print "    GREEN  =", example.GREEN

print "\n*** Foo::speed ***"
print "    Foo_IMPULSE   =", example.Foo.IMPULSE
print "    Foo_WARP      =", example.Foo.WARP
print "    Foo_LUDICROUS =", example.Foo.LUDICROUS

print "\nTesting use of enums with functions\n"

example.enum_test(example.RED, example.Foo.IMPULSE)
example.enum_test(example.BLUE, example.Foo.WARP)
example.enum_test(example.GREEN, example.Foo.LUDICROUS)
example.enum_test(1234, 5678)

print "\nTesting use of enum with class method"
f = example.Foo()

f.enum_test(example.Foo.IMPULSE)
f.enum_test(example.Foo.WARP)
f.enum_test(example.Foo.LUDICROUS)
tools\install\swigwin-4.0.2\Examples\python\exception\example.h
 
tools\install\swigwin-4.0.2\Examples\python\exception\example.i
 
tools\install\swigwin-4.0.2\Examples\python\exception\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\exception\runme.py
# file: runme.py

# Throw a lot of exceptions

import example

t = example.Test()
try:
    t.unknown()
except RuntimeError, e:
    print "incomplete type", e.args[0]

try:
    t.simple()
except RuntimeError, e:
    print e.args[0]

try:
    t.message()
except RuntimeError, e:
    print e.args[0]

if not example.is_python_builtin():
    try:
        t.hosed()
    except example.Exc, e:
        print e.code, e.msg
else:
    try:
        t.hosed()
    except BaseException, e:
        # Throwing builtin classes as exceptions not supported (-builtin
        # option)
        print e

for i in range(1, 4):
    try:
        t.multi(i)
    except RuntimeError, e:
        print e.args[0]
    except example.Exc, e:
        print e.code, e.msg
tools\install\swigwin-4.0.2\Examples\python\exceptproxy\example.h
 
tools\install\swigwin-4.0.2\Examples\python\exceptproxy\example.i
 
tools\install\swigwin-4.0.2\Examples\python\exceptproxy\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\exceptproxy\runme.py
# file: runme.py
import example

if example.is_python_builtin():
    print "Skipping example: -builtin option does not support %exceptionclass"
    exit(0)

q = example.intQueue(10)

print "Inserting items into intQueue"

print type(example.FullError)

try:
    for i in range(0, 100):
        q.enqueue(i)
except example.FullError, e:
    print "Maxsize is", e.maxsize

print "Removing items"

try:
    while 1:
        q.dequeue()
except example.EmptyError, e:
    pass


q = example.doubleQueue(1000)

print "Inserting items into doubleQueue"

try:
    for i in range(0, 10000):
        q.enqueue(i * 1.5)
except example.FullError, e:
    print "Maxsize is", e.maxsize

print "Removing items"

try:
    while 1:
        q.dequeue()
except example.EmptyError, e:
    pass
tools\install\swigwin-4.0.2\Examples\python\extend\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\extend\example.h
 
tools\install\swigwin-4.0.2\Examples\python\extend\example.i
 
tools\install\swigwin-4.0.2\Examples\python\extend\index.html
 
tools\install\swigwin-4.0.2\Examples\python\extend\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\extend\runme.py
# file: runme.py

# This file illustrates the cross language polymorphism using directors.

import example


# CEO class, which overrides Employee::getPosition().

class CEO(example.Manager):

    def __init__(self, name):
        example.Manager.__init__(self, name)

    def getPosition(self):
        return "CEO"


# Create an instance of our employee extension class, CEO. The calls to
# getName() and getPosition() are standard, the call to getTitle() uses
# the director wrappers to call CEO.getPosition.

e = CEO("Alice")
print e.getName(), "is a", e.getPosition()
print "Just call her \"%s\"" % e.getTitle()
print "----------------------"


# Create a new EmployeeList instance.  This class does not have a C++
# director wrapper, but can be used freely with other classes that do.

list = example.EmployeeList()

# EmployeeList owns its items, so we must surrender ownership of objects
# we add. This involves first calling the __disown__ method to tell the
# C++ director to start reference counting. We reassign the resulting
# weakref.proxy to e so that no hard references remain. This can also be
# done when the object is constructed, as in: e =
# CEO("Alice").__disown__()

e = e.__disown__()
list.addEmployee(e)
print "----------------------"

# Now we access the first four items in list (three are C++ objects that
# EmployeeList's constructor adds, the last is our CEO). The virtual
# methods of all these instances are treated the same. For items 0, 1, and
# 2, both all methods resolve in C++. For item 3, our CEO, getTitle calls
# getPosition which resolves in Python. The call to getPosition is
# slightly different, however, from the e.getPosition() call above, since
# now the object reference has been "laundered" by passing through
# EmployeeList as an Employee*. Previously, Python resolved the call
# immediately in CEO, but now Python thinks the object is an instance of
# class Employee (actually EmployeePtr). So the call passes through the
# Employee proxy class and on to the C wrappers and C++ director,
# eventually ending up back at the CEO implementation of getPosition().
# The call to getTitle() for item 3 runs the C++ Employee::getTitle()
# method, which in turn calls getPosition(). This virtual method call
# passes down through the C++ director class to the Python implementation
# in CEO. All this routing takes place transparently.

print "(position, title) for items 0-3:"

print "  %s, \"%s\"" % (list.get_item(0).getPosition(), list.get_item(0).getTitle())
print "  %s, \"%s\"" % (list.get_item(1).getPosition(), list.get_item(1).getTitle())
print "  %s, \"%s\"" % (list.get_item(2).getPosition(), list.get_item(2).getTitle())
print "  %s, \"%s\"" % (list.get_item(3).getPosition(), list.get_item(3).getTitle())
print "----------------------"

# Time to delete the EmployeeList, which will delete all the Employee*
# items it contains. The last item is our CEO, which gets destroyed as its
# reference count goes to zero. The Python destructor runs, and is still
# able to call self.getName() since the underlying C++ object still
# exists. After this destructor runs the remaining C++ destructors run as
# usual to destroy the object.

del list
print "----------------------"

# All done.

print "python exit"
tools\install\swigwin-4.0.2\Examples\python\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\python\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\python\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\python\funcptr\index.html
 
tools\install\swigwin-4.0.2\Examples\python\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\funcptr\runme.py
# file: runme.py

import example

a = 37
b = 42

# Now call our C function with a bunch of callbacks

print "Trying some C callback functions"
print "    a        =", a
print "    b        =", b
print "    ADD(a,b) =", example.do_op(a, b, example.ADD)
print "    SUB(a,b) =", example.do_op(a, b, example.SUB)
print "    MUL(a,b) =", example.do_op(a, b, example.MUL)

print "Here is what the C callback function objects look like in Python"
print "    ADD      =", example.ADD
print "    SUB      =", example.SUB
print "    MUL      =", example.MUL
tools\install\swigwin-4.0.2\Examples\python\funcptr2\example.c
 
tools\install\swigwin-4.0.2\Examples\python\funcptr2\example.h
 
tools\install\swigwin-4.0.2\Examples\python\funcptr2\example.i
 
tools\install\swigwin-4.0.2\Examples\python\funcptr2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\funcptr2\runme.py
# file: runme.py

import example

a = 37
b = 42

# Now call our C function with a bunch of callbacks

print "Trying some C callback functions"
print "    a        =", a
print "    b        =", b
print "    ADD(a,b) =", example.do_op(a, b, example.ADD)
print "    SUB(a,b) =", example.do_op(a, b, example.SUB)
print "    MUL(a,b) =", example.do_op(a, b, example.MUL)

print "Here is what the C callback function objects look like in Python"
print "    ADD      =", example.ADD
print "    SUB      =", example.SUB
print "    MUL      =", example.MUL

print "Call the functions directly..."
print "    add(a,b) =", example.add(a, b)
print "    sub(a,b) =", example.sub(a, b)
tools\install\swigwin-4.0.2\Examples\python\functor\example.i
 
tools\install\swigwin-4.0.2\Examples\python\functor\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\functor\runme.py
# Operator overloading example
import example
import math

a = example.intSum(0)
b = example.doubleSum(100.0)

# Use the objects.  They should be callable just like a normal
# python function.

for i in range(0, 100):
    a(i)                # Note: function call
    b(math.sqrt(i))     # Note: function call

print a.result()
print b.result()
tools\install\swigwin-4.0.2\Examples\python\import\bar.dsp
 
tools\install\swigwin-4.0.2\Examples\python\import\bar.h
 
tools\install\swigwin-4.0.2\Examples\python\import\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import\base.dsp
 
tools\install\swigwin-4.0.2\Examples\python\import\base.h
 
tools\install\swigwin-4.0.2\Examples\python\import\base.i
 
tools\install\swigwin-4.0.2\Examples\python\import\example.dsw
 
tools\install\swigwin-4.0.2\Examples\python\import\foo.dsp
 
tools\install\swigwin-4.0.2\Examples\python\import\foo.h
 
tools\install\swigwin-4.0.2\Examples\python\import\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import\README
 
tools\install\swigwin-4.0.2\Examples\python\import\runme.py
# file: runme.py
# Test various properties of classes defined in separate modules

print "Testing the %import directive"
import base
import foo
import bar
import spam

# Create some objects

print "Creating some objects"

a = base.Base()
b = foo.Foo()
c = bar.Bar()
d = spam.Spam()

# Try calling some methods
print "Testing some methods"
print "",
print "Should see 'Base::A' ---> ",
a.A()
print "Should see 'Base::B' ---> ",
a.B()

print "Should see 'Foo::A' ---> ",
b.A()
print "Should see 'Foo::B' ---> ",
b.B()

print "Should see 'Bar::A' ---> ",
c.A()
print "Should see 'Bar::B' ---> ",
c.B()

print "Should see 'Spam::A' ---> ",
d.A()
print "Should see 'Spam::B' ---> ",
d.B()

# Try some casts

print "\nTesting some casts\n"
print "",

x = a.toBase()
print "Should see 'Base::A' ---> ",
x.A()
print "Should see 'Base::B' ---> ",
x.B()

x = b.toBase()
print "Should see 'Foo::A' ---> ",
x.A()

print "Should see 'Base::B' ---> ",
x.B()

x = c.toBase()
print "Should see 'Bar::A' ---> ",
x.A()

print "Should see 'Base::B' ---> ",
x.B()

x = d.toBase()
print "Should see 'Spam::A' ---> ",
x.A()

print "Should see 'Base::B' ---> ",
x.B()

x = d.toBar()
print "Should see 'Bar::B' ---> ",
x.B()

print "\nTesting some dynamic casts\n"
x = d.toBase()

print " Spam -> Base -> Foo : ",
y = foo.Foo_fromBase(x)
if y:
    print "bad swig"
else:
    print "good swig"

print " Spam -> Base -> Bar : ",
y = bar.Bar_fromBase(x)
if y:
    print "good swig"
else:
    print "bad swig"

print " Spam -> Base -> Spam : ",
y = spam.Spam_fromBase(x)
if y:
    print "good swig"
else:
    print "bad swig"

print " Foo -> Spam : ",
y = spam.Spam_fromBase(b)
if y:
    print "bad swig"
else:
    print "good swig"
tools\install\swigwin-4.0.2\Examples\python\import\spam.dsp
 
tools\install\swigwin-4.0.2\Examples\python\import\spam.h
 
tools\install\swigwin-4.0.2\Examples\python\import\spam.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\pkg2\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\pkg2\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\pkg2\__init__.py
from bar import Pkg2_Bar
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\pkg2\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\pkg2\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\pkg2\__init__.py
from .bar import Pkg2_Bar
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\py3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init1\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"

if sys.version_info < (2, 5):
    print "  Skipping test as Python version is < 2.5 and does not support relative import syntax: 'from . import x'"
    sys.exit(0)

if sys.version_info < (3, 0):
    import py2.pkg2
    print "  Finished importing py2.pkg2"
    commandline = sys.executable + " -m py2.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py2.pkg2.foo"
    run_except_on_windows(commandline)
else:
    import py3.pkg2
    print "  Finished importing py3.pkg2"
    # commandline = sys.executable + " -m py3.pkg2.bar"
    # run_except_on_windows(commandline)
    # commandline = sys.executable + " -m py3.pkg2.foo"
    # run_except_on_windows(commandline)

# TODO: Commented out code above results in (from python-3.6 onwards):
# RuntimeWarning: 'py3.pkg2.bar' found in sys.modules after import of package 'py3.pkg2', but prior to execution of 'py3.pkg2.bar'; this may result in unpredictable behaviour
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\pkg3\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\pkg3\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\pkg2\__init__.py
from bar import Pkg2_Bar
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\pkg3\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\pkg3\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\pkg2\__init__.py
from .bar import Pkg2_Bar
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\py3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init2\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"

if sys.version_info < (2, 5):
    print "  Skipping test as Python version is < 2.5 and does not support relative import syntax: 'from . import x'"
    sys.exit(0)

if sys.version_info < (3, 0):
    import py2.pkg2
    print "  Finished importing py2.pkg2"
    commandline = sys.executable + " -m py2.pkg2.bar"
    run_except_on_windows(commandline)
else:
    import py3.pkg2
    print "  Finished importing py3.pkg2"
    # commandline = sys.executable + " -m py3.pkg2.bar"
    # run_except_on_windows(commandline)

# TODO: Commented out code above results in (from python-3.6 onwards):
# RuntimeWarning: 'py3.pkg2.bar' found in sys.modules after import of package 'py3.pkg2', but prior to execution of 'py3.pkg2.bar'; this may result in unpredictable behaviour
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\pkg3\pkg4\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\pkg3\pkg4\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\pkg3\pkg4\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\pkg3\pkg4\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\pkg2\__init__.py
from bar import Pkg2_Bar
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\pkg3\pkg4\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\pkg3\pkg4\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\pkg3\pkg4\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\pkg3\pkg4\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\pkg2\__init__.py
from .bar import Pkg2_Bar
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\py3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\from_init3\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"

if sys.version_info < (2, 5):
    print "  Skipping test as Python version is < 2.5 and does not support relative import syntax: 'from . import x'"
    sys.exit(0)

if sys.version_info < (3, 0):
    import py2.pkg2
    print "  Finished importing py2.pkg2"
    commandline = sys.executable + " -m py2.pkg2.bar"
    run_except_on_windows(commandline)
else:
    import py3.pkg2
    print "  Finished importing py3.pkg2"
    # commandline = sys.executable + " -m py3.pkg2.bar"
    # run_except_on_windows(commandline)

# TODO: Commented out code above results in (from python-3.6 onwards):
# RuntimeWarning: 'py3.pkg2.bar' found in sys.modules after import of package 'py3.pkg2', but prior to execution of 'py3.pkg2.bar'; this may result in unpredictable behaviour
tools\install\swigwin-4.0.2\Examples\python\import_packages\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\module_is_init\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\module_is_init\pkg1\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\module_is_init\pkg1\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\module_is_init\pkg1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\module_is_init\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\module_is_init\runme.py
import os.path
import sys

# Test import of a SWIG generated module renamed as the package's __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - module renamed as __init__.py"

if sys.version_info >= (3, 0, 0) and sys.version_info < (3, 3, 0):
    print "  Not importing as Python version is >= 3.0 and < 3.3"
    # Package detection does not work in these versions.
    # Can be fixed by using this in the interface file:
    #   %module(moduleimport="from . import $module") foo   # without -builtin
    #   %module(moduleimport="from .$module import *") foo  # with -builtin
    sys.exit(0)

import pkg1
print "  Finished importing pkg1"

if pkg1.foofunction(123) != 1230:
    raise RuntimeError("foofunction failed")

fc = pkg1.FooClass()
if fc.foomethod(1) != 6:
    raise RuntimeError("foomethod failed")

print "  Finished testing pkg1"
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\nonpkg.py
import os
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

print(" Starting subtest " + os.path.basename(__file__))

# import robin as a module in the global namespace

import robin
print("  Finished importing robin")

if not(robin.run() == "AWAY!"):
    raise RuntimeError("test failed")

commandline = sys.executable + " -m robin"
run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\normal.py
import os
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

print(" Starting subtest " + os.path.basename(__file__))

# Package brave found under one path
sys.path.insert(0, "path1")

from brave import robin
print("  Finished from brave import robin")

if not(robin.run() == "AWAY!"):
    raise RuntimeError("test failed")

commandline = sys.executable + " -m brave.robin"
run_except_on_windows(commandline, env = {"PYTHONPATH": "path1"})
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\nstest.py
import sys
import os
import shutil
import subprocess
import zipfile

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

def copyMods():
    dirs = ["path1", "path2", "path3"]

    # Clean out any old package paths
    for d in dirs:
        if os.path.isdir(d):
            shutil.rmtree(d)

    for d in dirs:
        os.mkdir(d)
        os.mkdir(os.path.join(d, "brave"))

    shutil.copy("robin.py", os.path.join("path1", "brave"))
    subprocess.check_call("cp _robin.* " + os.path.join("path1", "brave"), shell=True)

    shutil.copy("robin.py", os.path.join("path2", "brave"))
    subprocess.check_call("cp _robin.* " + os.path.join("path3", "brave"), shell=True)

    mkzip()

def mkzip():
    zf = zipfile.ZipFile("path4.zip", "w")
    zf.writestr("brave/", b"")
    zf.write("robin.py", "brave/robin.py")
    zf.close()


def main():
    copyMods()

    # Run each test with a separate interpreter
    run_except_on_windows(sys.executable + " nonpkg.py")
    run_except_on_windows(sys.executable + " normal.py")
    run_except_on_windows(sys.executable + " split.py")
    run_except_on_windows(sys.executable + " zipsplit.py")


if __name__ == "__main__":
    main()
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\robin.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\runme.py
# These examples rely on namespace packages.  Don't
# run them for old python interpreters.
import os.path
import subprocess
import sys

testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - namespace packages"

if sys.version_info < (3, 3, 0):
    print "  Not importing nstest as Python version is < 3.3"
    sys.exit(0)

import nstest

print "  Finished importing nstest"

nstest.main()
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\split.py
import os
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

print(" Starting subtest " + os.path.basename(__file__))

# Package brave split into two paths.
# path2/brave/robin.py and path3/brave/_robin.so
sys.path.insert(0, "path2")
sys.path.insert(0, "path3")

from brave import robin
print("  Finished from brave import robin")

if not(robin.run() == "AWAY!"):
    raise RuntimeError("test failed")

commandline = sys.executable + " -m brave.robin"
run_except_on_windows(commandline , env = {"PYTHONPATH": "path2:path3"})
tools\install\swigwin-4.0.2\Examples\python\import_packages\namespace_pkg\zipsplit.py
import os
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

print(" Starting subtest " + os.path.basename(__file__))

# Package brave split into two paths.
# brave/robin.py (in path4.zip) and path3/brave/_robin.so
sys.path.insert(0, "path4.zip")
sys.path.insert(0, "path3")

from brave import robin
print("  Finished from brave import robin")

if not(robin.run() == "AWAY!"):
    raise RuntimeError("test failed")

commandline = sys.executable + " -m brave.robin"
run_except_on_windows(commandline, env = {"PYTHONPATH": "path3:path4.zip"})
tools\install\swigwin-4.0.2\Examples\python\import_packages\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\pkg3\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\pkg3\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\pkg3\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\pkg3\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\py3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport1\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) with -relativeimport"

if sys.version_info < (2, 5):
    print "  Skipping test as Python version is < 2.5 and does not support relative import syntax: 'from . import x'"
    sys.exit(0)

if sys.version_info < (3, 0):
    import py2.pkg2.bar
    print "  Finished importing py2.pkg2.bar"
    commandline = sys.executable + " -m py2.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py2.pkg2.pkg3.foo"
    run_except_on_windows(commandline)
else:
    import py3.pkg2.bar
    print "  Finished importing py3.pkg2.bar"
    commandline = sys.executable + " -m py3.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py3.pkg2.pkg3.foo"
    run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\pkg3\pkg4\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\pkg3\pkg4\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\pkg3\pkg4\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\pkg3\pkg4\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\pkg3\pkg4\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\pkg3\pkg4\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\pkg3\pkg4\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\pkg3\pkg4\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\py3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport2\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"

if sys.version_info < (2, 5):
    print "  Skipping test as Python version is < 2.5 and does not support relative import syntax: 'from . import x'"
    sys.exit(0)

if sys.version_info < (3, 0):
    import py2.pkg2.bar
    print "  Finished importing py2.pkg2.bar"
    commandline = sys.executable + " -m py2.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py2.pkg2.pkg3.pkg4.foo"
    run_except_on_windows(commandline)
else:
    import py3.pkg2.bar
    print "  Finished importing py3.pkg2.bar"
    commandline = sys.executable + " -m py3.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py3.pkg2.pkg3.pkg4.foo"
    run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\pkg3\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\pkg3\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\bar.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\pkg3\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\pkg3\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\pkg3\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\pkg3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\py3\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\relativeimport3\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of modules content from within __init__.py
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) with -relativeimport"

if sys.version_info < (2, 5):
    print "  Skipping test as Python version is < 2.5 and does not support relative import syntax: 'from . import x'"
    sys.exit(0)

if sys.version_info < (3, 0):
    import py2.pkg2.bar
    print "  Finished importing py2.pkg2.bar"
    commandline = sys.executable + " -m py2.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py2.pkg2.pkg3.foo"
    run_except_on_windows(commandline)
else:
    import py3.pkg2.bar
    print "  Finished importing py3.pkg2.bar"
    commandline = sys.executable + " -m py3.pkg2.bar"
    run_except_on_windows(commandline)
    commandline = sys.executable + " -m py3.pkg2.pkg3.foo"
    run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg1\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg1\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg1\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg2\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg2\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames1\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

# Test import of same modules from different packages
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"

import pkg2.foo
print "  Finished importing pkg2.foo"

var2 = pkg2.foo.Pkg2_Foo()

classname = str(type(var2))
if classname.find("pkg2.foo.Pkg2_Foo") == -1:
    raise RuntimeError("failed type checking: " + classname)
print "  Successfully created object pkg2.foo.Pkg2_Foo"

commandline = sys.executable + " -m pkg2.foo"
run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\pkg2\foo.hpp
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\pkg2\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\pkg2\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\pkg2\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\pkg1\__init__.py
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\same_modnames2\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - %module(package=...) + python 'import' in __init__.py"

import pkg1.pkg2.foo
print "  Finished importing pkg1.pkg2.foo"

var2 = pkg1.pkg2.foo.Pkg2_Foo()

classname = str(type(var2))
if classname.find("pkg1.pkg2.foo.Pkg2_Foo") == -1:
    raise RuntimeError("failed type checking: " + classname)
print "  Successfully created object pkg1.pkg2.foo.Pkg2_Foo"

commandline = sys.executable + " -m pkg1.pkg2.foo"
run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\README
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla\pkg1\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla\pkg1\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla\pkg1\__init__.py
# killroy was here
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - split modules"

import pkg1.foo

print "  Finished importing pkg1.foo"

if not(pkg1.foo.count() == 3):
    raise RuntimeError("test failed")

commandline = sys.executable + " -m pkg1.foo"
run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla_split\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla_split\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla_split\pkg1\__init__.py
# killroy was here
tools\install\swigwin-4.0.2\Examples\python\import_packages\split_modules\vanilla_split\runme.py
import os.path
import subprocess
import sys

def run_except_on_windows(commandline, env=None):
    if os.name != "nt" and sys.platform != "cygwin":
        # Strange failures on windows/cygin/mingw
        subprocess.check_call(commandline, env=env, shell=True)
        print("  Finished running: " + commandline)

testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print "Testing " + testname + " - split modules"

import pkg1.foo

print "  Finished importing pkg1.foo"

if not(pkg1.foo.count() == 3):
    raise RuntimeError("test failed")

commandline = sys.executable + " -m pkg1.foo"
run_except_on_windows(commandline)
tools\install\swigwin-4.0.2\Examples\python\import_template\bar.h
 
tools\install\swigwin-4.0.2\Examples\python\import_template\bar.i
 
tools\install\swigwin-4.0.2\Examples\python\import_template\base.h
 
tools\install\swigwin-4.0.2\Examples\python\import_template\base.i
 
tools\install\swigwin-4.0.2\Examples\python\import_template\foo.h
 
tools\install\swigwin-4.0.2\Examples\python\import_template\foo.i
 
tools\install\swigwin-4.0.2\Examples\python\import_template\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\import_template\README
 
tools\install\swigwin-4.0.2\Examples\python\import_template\runme.py
# file: runme.py
# Test various properties of classes defined in separate modules

print "Testing the %import directive with templates"
import base
import foo
import bar
import spam

# Create some objects

print "Creating some objects"

a = base.intBase()
b = foo.intFoo()
c = bar.intBar()
d = spam.intSpam()

# Try calling some methods
print "Testing some methods"
print "",
print "Should see 'Base::A' ---> ",
a.A()
print "Should see 'Base::B' ---> ",
a.B()

print "Should see 'Foo::A' ---> ",
b.A()
print "Should see 'Foo::B' ---> ",
b.B()

print "Should see 'Bar::A' ---> ",
c.A()
print "Should see 'Bar::B' ---> ",
c.B()

print "Should see 'Spam::A' ---> ",
d.A()
print "Should see 'Spam::B' ---> ",
d.B()

# Try some casts

print "\nTesting some casts\n"
print "",

x = a.toBase()
print "Should see 'Base::A' ---> ",
x.A()
print "Should see 'Base::B' ---> ",
x.B()

x = b.toBase()
print "Should see 'Foo::A' ---> ",
x.A()

print "Should see 'Base::B' ---> ",
x.B()

x = c.toBase()
print "Should see 'Bar::A' ---> ",
x.A()

print "Should see 'Base::B' ---> ",
x.B()

x = d.toBase()
print "Should see 'Spam::A' ---> ",
x.A()

print "Should see 'Base::B' ---> ",
x.B()

x = d.toBar()
print "Should see 'Bar::B' ---> ",
x.B()

print "\nTesting some dynamic casts\n"
x = d.toBase()

print " Spam -> Base -> Foo : ",
y = foo.intFoo_fromBase(x)
if y:
    print "bad swig"
else:
    print "good swig"

print " Spam -> Base -> Bar : ",
y = bar.intBar_fromBase(x)
if y:
    print "good swig"
else:
    print "bad swig"

print " Spam -> Base -> Spam : ",
y = spam.intSpam_fromBase(x)
if y:
    print "good swig"
else:
    print "bad swig"

print " Foo -> Spam : ",
y = spam.intSpam_fromBase(b)
if y:
    print "bad swig"
else:
    print "good swig"
tools\install\swigwin-4.0.2\Examples\python\import_template\spam.h
 
tools\install\swigwin-4.0.2\Examples\python\import_template\spam.i
 
tools\install\swigwin-4.0.2\Examples\python\index.html
 
tools\install\swigwin-4.0.2\Examples\python\libffi\example.i
 
tools\install\swigwin-4.0.2\Examples\python\libffi\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\python\multimap\example.dsp
 
tools\install\swigwin-4.0.2\Examples\python\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\python\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\multimap\runme.py
# file: runme.py

import example

# Call our gcd() function

x = 42
y = 105
g = example.gcd(x, y)
print "The gcd of %d and %d is %d" % (x, y, g)

# Call the gcdmain() function
example.gcdmain(["gcdmain", "42", "105"])

# Call the count function
print example.count("Hello World", "l")

# Call the capitalize function

print example.capitalize("hello world")
tools\install\swigwin-4.0.2\Examples\python\operator\example.h
 
tools\install\swigwin-4.0.2\Examples\python\operator\example.i
 
tools\install\swigwin-4.0.2\Examples\python\operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\operator\runme.py
# Operator overloading example
import example

a = example.Complex(2, 3)
b = example.Complex(-5, 10)

print "a   =", a
print "b   =", b

c = a + b
print "c   =", c
print "a*b =", a * b
print "a-c =", a - c

e = example.ComplexCopy(a - c)
print "e   =", e

# Big expression
f = ((a + b) * (c + b * e)) + (-a)
print "f   =", f
tools\install\swigwin-4.0.2\Examples\python\performance\constructor\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\performance\constructor\runme.py
import sys
sys.path.append("..")
import harness


def proc(mod):
    for i in range(1000000):
        x = mod.MyClass()

harness.run(proc)
tools\install\swigwin-4.0.2\Examples\python\performance\constructor\Simple.i
 
tools\install\swigwin-4.0.2\Examples\python\performance\func\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\performance\func\runme.py
import sys
sys.path.append("..")
import harness


def proc(mod):
    x = mod.MyClass()
    for i in range(10000000):
        x.func()

harness.run(proc)
tools\install\swigwin-4.0.2\Examples\python\performance\func\Simple.i
 
tools\install\swigwin-4.0.2\Examples\python\performance\harness.py
import sys
import time
import imp
from subprocess import *


def run(proc):

    try:
        mod = imp.find_module(sys.argv[1])
        mod = imp.load_module(sys.argv[1], *mod)

        t1 = time.clock()
        proc(mod)
        t2 = time.clock()
        print "%s took %f seconds" % (mod.__name__, t2 - t1)

    except IndexError:
        proc = Popen(
            [sys.executable, "runme.py", "Simple_baseline"], stdout=PIPE)
        (stdout, stderr) = proc.communicate()
        print stdout

        proc = Popen(
            [sys.executable, "runme.py", "Simple_optimized"], stdout=PIPE)
        (stdout, stderr) = proc.communicate()
        print stdout

        proc = Popen(
            [sys.executable, "runme.py", "Simple_builtin"], stdout=PIPE)
        (stdout, stderr) = proc.communicate()
        print stdout
tools\install\swigwin-4.0.2\Examples\python\performance\hierarchy\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\performance\hierarchy\runme.py
import sys
sys.path.append("..")
import harness


def proc(mod):
    x = mod.H()
    for i in range(10000000):
        x.func()

harness.run(proc)
tools\install\swigwin-4.0.2\Examples\python\performance\hierarchy\Simple.i
 
tools\install\swigwin-4.0.2\Examples\python\performance\hierarchy_operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\performance\hierarchy_operator\runme.py
import sys
sys.path.append("..")
import harness


def proc(mod):
    x = mod.H()
    for i in range(10000000):
        x += i

harness.run(proc)
tools\install\swigwin-4.0.2\Examples\python\performance\hierarchy_operator\Simple.i
 
tools\install\swigwin-4.0.2\Examples\python\performance\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\performance\operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\performance\operator\runme.py
import sys
sys.path.append("..")
import harness


def proc(mod):
    x = mod.MyClass()
    for i in range(10000000):
        x = x + i

harness.run(proc)
tools\install\swigwin-4.0.2\Examples\python\performance\operator\Simple.i
 
tools\install\swigwin-4.0.2\Examples\python\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\python\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\python\pointer\index.html
 
tools\install\swigwin-4.0.2\Examples\python\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\pointer\runme.py
# file: runme.py

import example

# First create some objects using the pointer library.
print "Testing the pointer library"
a = example.new_intp()
b = example.new_intp()
c = example.new_intp()
example.intp_assign(a, 37)
example.intp_assign(b, 42)

print "     a =", a
print "     b =", b
print "     c =", c

# Call the add() function with some pointers
example.add(a, b, c)

# Now get the result
r = example.intp_value(c)
print "     37 + 42 =", r

# Clean up the pointers
example.delete_intp(a)
example.delete_intp(b)
example.delete_intp(c)

# Now try the typemap library
# This should be much easier. Now how it is no longer
# necessary to manufacture pointers.

print "Trying the typemap library"
r = example.sub(37, 42)
print "     37 - 42 =", r

# Now try the version with multiple return values

print "Testing multiple return values"
q, r = example.divide(42, 37)
print "     42/37 = %d remainder %d" % (q, r)
tools\install\swigwin-4.0.2\Examples\python\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\python\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\python\reference\index.html
 
tools\install\swigwin-4.0.2\Examples\python\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\reference\runme.py
# file: runme.py

# This file illustrates the manipulation of C++ references in Python

import example

# ----- Object creation -----

print "Creating some objects:"
a = example.Vector(3, 4, 5)
b = example.Vector(10, 11, 12)

print "    Created", a.cprint()
print "    Created", b.cprint()

# ----- Call an overloaded operator -----

# This calls the wrapper we placed around
#
#      operator+(const Vector &a, const Vector &)
#
# It returns a new allocated object.

print "Adding a+b"
c = example.addv(a, b)
print "    a+b =", c.cprint()

# Note: Unless we free the result, a memory leak will occur
del c

# ----- Create a vector array -----

# Note: Using the high-level interface here
print "Creating an array of vectors"
va = example.VectorArray(10)
print "    va = ", va

# ----- Set some values in the array -----

# These operators copy the value of $a and $b to the vector array
va.set(0, a)
va.set(1, b)

va.set(2, example.addv(a, b))

# Get some values from the array

print "Getting some array values"
for i in range(0, 5):
    print "    va(%d) = %s" % (i, va.get(i).cprint())

# Watch under resource meter to check on this
print "Making sure we don't leak memory."
for i in xrange(0, 1000000):
    c = va.get(i % 10)

# ----- Clean up -----
print "Cleaning up"

del va
del a
del b
tools\install\swigwin-4.0.2\Examples\python\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\python\simple\example.dsp
 
tools\install\swigwin-4.0.2\Examples\python\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\python\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\python\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\simple\runme.py
# file: runme.py

import example

# Call our gcd() function

x = 42
y = 105
g = example.gcd(x, y)
print "The gcd of %d and %d is %d" % (x, y, g)

# Manipulate the Foo global variable

# Output its current value
print "Foo = ", example.cvar.Foo

# Change its value
example.cvar.Foo = 3.1415926

# See if the change took effect
print "Foo = ", example.cvar.Foo
tools\install\swigwin-4.0.2\Examples\python\smartptr\example.cxx
 
tools\install\swigwin-4.0.2\Examples\python\smartptr\example.h
 
tools\install\swigwin-4.0.2\Examples\python\smartptr\example.i
 
tools\install\swigwin-4.0.2\Examples\python\smartptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\smartptr\runme.py
# file: runme.py

# This file illustrates the proxy class C++ interface generated
# by SWIG.

import example

# ----- Object creation -----

print "Creating some objects:"
cc = example.Circle(10)
c = example.ShapePtr(cc)
print "    Created circle", c
ss = example.Square(10)
s = example.ShapePtr(ss)
print "    Created square", s

# ----- Access a static member -----

print "\nA total of", example.cvar.Shape_nshapes, "shapes were created"

# ----- Member data access -----

# Set the location of the object

c.x = 20
c.y = 30

s.x = -10
s.y = 5

print "\nHere is their current position:"
print "    Circle = (%f, %f)" % (c.x, c.y)
print "    Square = (%f, %f)" % (s.x, s.y)

# ----- Call some methods -----

print "\nHere are some properties of the shapes:"
for o in [c, s]:
    print "   ", o
    print "        area      = ", o.area()
    print "        perimeter = ", o.perimeter()

print "\nGuess I'll clean up now"

# Note: this invokes the virtual destructor
del c
del s
del cc
del ss

s = 3
print example.cvar.Shape_nshapes, "shapes remain"
print "Goodbye"
tools\install\swigwin-4.0.2\Examples\python\smartptr\smartptr.h
 
tools\install\swigwin-4.0.2\Examples\python\std_map\example.h
 
tools\install\swigwin-4.0.2\Examples\python\std_map\example.i
 
tools\install\swigwin-4.0.2\Examples\python\std_map\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\std_map\runme.py
# file: runme.py

import example

pmap = example.pymap()
pmap["hi"] = 1
pmap["hello"] = 2


dmap = {}
dmap["hello"] = 1.0
dmap["hi"] = 2.0

print dmap.items()
print dmap.keys()
print dmap.values()

print dmap
hmap = example.halfd(dmap)
dmap = hmap

print dmap
for i in dmap.iterkeys():
    print "key", i

for i in dmap.itervalues():
    print "val", i

for k, v in dmap.iteritems():
    print "item", k, v

dmap = example.DoubleMap()
dmap["hello"] = 1.0
dmap["hi"] = 2.0

for i in dmap.iterkeys():
    print "key", i

for i in dmap.itervalues():
    print "val", i

for k, v in dmap.iteritems():
    print "item", k, v


print dmap.items()
print dmap.keys()
print dmap.values()

hmap = example.halfd(dmap)
print hmap.keys()
print hmap.values()


dmap = {}
dmap["hello"] = 2
dmap["hi"] = 4

hmap = example.halfi(dmap)
print hmap
print hmap.keys()
print hmap.values()


dmap = hmap

for i in dmap.iterkeys():
    print "key", i

for i in dmap.itervalues():
    print "val", i

for i in dmap.iteritems():
    print "item", i

for k, v in dmap.iteritems():
    print "item", k, v

print dmap
tools\install\swigwin-4.0.2\Examples\python\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\python\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\python\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\std_vector\runme.py
# file: runme.py

import example

# Call average with a Python list...

print example.average([1, 2, 3, 4])

# ... or a wrapped std::vector<int>

v = example.IntVector(4)
for i in range(len(v)):
    v[i] = i + 1
print example.average(v)


# half will return a Python list.
# Call it with a Python tuple...

print example.half((1.0, 1.5, 2.0, 2.5, 3.0))

# ... or a wrapped std::vector<double>

v = example.DoubleVector()
for i in [1, 2, 3, 4]:
    v.append(i)
print example.half(v)


# now halve a wrapped std::vector<double> in place

example.halve_in_place(v)
for i in range(len(v)):
    print v[i], "; ",
print
tools\install\swigwin-4.0.2\Examples\python\template\example.h
 
tools\install\swigwin-4.0.2\Examples\python\template\example.i
 
tools\install\swigwin-4.0.2\Examples\python\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\template\runme.py
# file: runme.py

import example

# Call some templated functions
print example.maxint(3, 7)
print example.maxdouble(3.14, 2.18)

# Create some class

iv = example.vecint(100)
dv = example.vecdouble(1000)

for i in range(0, 100):
    iv.setitem(i, 2 * i)

for i in range(0, 1000):
    dv.setitem(i, 1.0 / (i + 1))

sum = 0
for i in range(0, 100):
    sum = sum + iv.getitem(i)

print sum

sum = 0.0
for i in range(0, 1000):
    sum = sum + dv.getitem(i)
print sum

del iv
del dv
tools\install\swigwin-4.0.2\Examples\python\varargs\example.i
 
tools\install\swigwin-4.0.2\Examples\python\varargs\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\varargs\runme.py
# file: runme.py

import sys
import example

# Call printf
example.printf("Hello World. I'm printf\n")

# Note: We call printf, but use *python* string formatting
for i in range(0, 10):
    example.printf("i is %d\n" % i)

# This will probably be garbled because %d is interpreted by C
example.printf("The value is %d\n")

stdout = example.stdout_stream()
# Call fprintf
example.fprintf(stdout, "Hello World. I'm fprintf\n")
for i in range(0, 10):
    example.fprintf(stdout, "i is %d\n" % i)

# This won't be garbled since %d is not interpreted
example.fprintf(stdout, "The value is %d\n")

# This function calls our NULL-terminated function

example.printv("Hello", "World", "this", "is", "a", "test.")
tools\install\swigwin-4.0.2\Examples\python\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\python\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\python\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\python\variables\index.html
 
tools\install\swigwin-4.0.2\Examples\python\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\python\variables\runme.py
# file: runme.py

import example

# Try to set the values of some global variables

example.cvar.ivar = 42
example.cvar.svar = -31000
example.cvar.lvar = 65537
example.cvar.uivar = 123456
example.cvar.usvar = 61000
example.cvar.ulvar = 654321
example.cvar.scvar = -13
example.cvar.ucvar = 251
example.cvar.cvar = "S"
example.cvar.fvar = 3.14159
example.cvar.dvar = 2.1828
example.cvar.strvar = "Hello World"
example.cvar.iptrvar = example.new_int(37)
example.cvar.ptptr = example.new_Point(37, 42)
example.cvar.name = "Bill"

# Now print out the values of the variables

print "Variables (values printed from Python)"

print "ivar      =", example.cvar.ivar
print "svar      =", example.cvar.svar
print "lvar      =", example.cvar.lvar
print "uivar     =", example.cvar.uivar
print "usvar     =", example.cvar.usvar
print "ulvar     =", example.cvar.ulvar
print "scvar     =", example.cvar.scvar
print "ucvar     =", example.cvar.ucvar
print "fvar      =", example.cvar.fvar
print "dvar      =", example.cvar.dvar
print "cvar      =", example.cvar.cvar
print "strvar    =", example.cvar.strvar
print "cstrvar   =", example.cvar.cstrvar
print "iptrvar   =", example.cvar.iptrvar
print "name      =", example.cvar.name
print "ptptr     =", example.cvar.ptptr, example.Point_print(example.cvar.ptptr)
print "pt        =", example.cvar.pt, example.Point_print(example.cvar.pt)

print "\nVariables (values printed from C)"

example.print_vars()

print "\nNow I'm going to try and modify some read only variables"

print "     Trying to set 'path'"
try:
    example.cvar.path = "Whoa!"
    print "Hey, what's going on?!?! This shouldn't work"
except Exception:
    print "Good."

print "     Trying to set 'status'"
try:
    example.cvar.status = 0
    print "Hey, what's going on?!?! This shouldn't work"
except Exception:
    print "Good."


print "\nI'm going to try and update a structure variable.\n"

example.cvar.pt = example.cvar.ptptr

print "The new value is"
example.pt_print()
print "You should see the value", example.Point_print(example.cvar.ptptr)
tools\install\swigwin-4.0.2\Examples\r\check.list
 
tools\install\swigwin-4.0.2\Examples\r\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\r\class\example.dsp
 
tools\install\swigwin-4.0.2\Examples\r\class\example.h
 
tools\install\swigwin-4.0.2\Examples\r\class\example.i
 
tools\install\swigwin-4.0.2\Examples\r\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\r\class\runme.R
 
tools\install\swigwin-4.0.2\Examples\r\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\r\simple\example.dsp
 
tools\install\swigwin-4.0.2\Examples\r\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\r\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\r\simple\runme.R
 
tools\install\swigwin-4.0.2\Examples\README
 
tools\install\swigwin-4.0.2\Examples\ruby\check.list
 
tools\install\swigwin-4.0.2\Examples\ruby\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\ruby\class\example.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\class\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\class\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\class\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\class\runme.rb
# file: runme.rb

# This file illustrates the C++ interface created by SWIG.
# All of our C++ classes get converted into Ruby classes.

require 'example'

# ----- Object creation -----

print "Creating some objects:\n"
c = Example::Circle.new(10)
print "    Created circle #{c}\n"
s = Example::Square.new(10)
print "    Created square #{s}\n"

# ----- Access a static member -----

print "\nA total of #{Example::Shape.nshapes} shapes were created\n"

# ----- Member data access -----

# Set the location of the object

# Notice how we can do this using functions specific to
# the 'Circle' class.
c.x = 20
c.y = 30

# Now use the same functions in the base class
s.x = -10
s.y = 5

print "\nHere is their current position:\n"
print "    Circle = (", c.x, ",", c.y, ")\n"
print "    Square = (", s.x, ",", s.y, ")\n"

# ----- Call some methods -----

print "\nHere are some properties of the shapes:\n"
for o in [c, s]
  print "    #{o}\n"
  print "        area      = ", o.area, "\n"
  print "        perimeter = ", o.perimeter, "\n"
end
# Notice how the Shape#area() and Shape#perimeter() functions really
# invoke the appropriate virtual method on each object.

# Remove references to the object and force a garbage collection run.
c = s = o = nil
GC.start()

print "\n", Example::Shape.nshapes," shapes remain\n"
print "Goodbye\n"
tools\install\swigwin-4.0.2\Examples\ruby\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\constants\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\constants\runme.rb
# file: runme.rb

require 'example'

print "ICONST  = ", Example::ICONST,  " (should be 42)\n"
print "FCONST  = ", Example::FCONST,  " (should be 2.1828)\n"
print "CCONST  = ", Example::CCONST,  " (should be 'x')\n"
print "CCONST2 = ", Example::CCONST2, " (this should be on a new line)\n"
print "SCONST  = ", Example::SCONST,  " (should be 'Hello World')\n"
print "SCONST2 = ", Example::SCONST2, " (should be '\"Hello World\"')\n"
print "EXPR    = ", Example::EXPR,    " (should be 48.5484)\n"
print "iconst  = ", Example::Iconst,  " (should be 37)\n"
print "fconst  = ", Example::Fconst,  " (should be 3.14)\n"

begin
  print "EXTERN = ", Example::EXTERN, " (Arg! This shouldn't print anything)\n"
rescue NameError
  print "EXTERN isn't defined (good)\n"
end

begin
  print "FOO    = ", Example::FOO, " (Arg! This shouldn't print anything)\n"
rescue NameError
  print "FOO isn't defined (good)\n"
end
tools\install\swigwin-4.0.2\Examples\ruby\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\ruby\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\enum\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\enum\runme.rb
# file: runme.rb

require 'example'

# ----- Object creation -----

# Print out the value of some enums
print "*** color ***\n"
print "    RED    = #{Example::RED}\n"
print "    BLUE   = #{Example::BLUE}\n"
print "    GREEN  = #{Example::GREEN}\n"

print "\n*** Foo::speed ***\n"
print "    Foo::IMPULSE   = #{Example::Foo::IMPULSE}\n"
print "    Foo::WARP      = #{Example::Foo::WARP}\n"
print "    Foo::LUDICROUS = #{Example::Foo::LUDICROUS}\n"

print "\nTesting use of enums with functions\n\n"

Example::enum_test(Example::RED, Example::Foo::IMPULSE)
Example::enum_test(Example::BLUE,  Example::Foo::WARP)
Example::enum_test(Example::GREEN, Example::Foo::LUDICROUS)
Example::enum_test(1234, 5678)

print "\nTesting use of enum with class method\n"
f = Example::Foo.new()

f.enum_test(Example::Foo::IMPULSE)
f.enum_test(Example::Foo::WARP)
f.enum_test(Example::Foo::LUDICROUS)
tools\install\swigwin-4.0.2\Examples\ruby\exceptproxy\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\exceptproxy\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\exceptproxy\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\exceptproxy\runme.rb
require 'example'

q = Example::IntQueue.new(10)

puts "Inserting items into intQueue"

begin
    0.upto(100) do |i|
    q.enqueue(i)
  end
rescue Example::FullError => e
  puts "Maxsize is: #{e.maxsize}"
end

puts "Removing items"

begin
  loop do
    q.dequeue()
  end
rescue Example::EmptyError => e
  ## do nothing
end

q = Example::DoubleQueue.new(1000)

puts "Inserting items into doubleQueue"

begin
  0.upto(100) do |i|
    q.enqueue(i*1.5)
  end
rescue Example::FullError => e
  puts "Maxsize is: #{e.maxsize}"
end

puts "Removing items"

begin
  loop do
    q.dequeue()
  end
rescue Example::EmptyError => e
  # do nothing
end
tools\install\swigwin-4.0.2\Examples\ruby\free_function\example.cxx
 
tools\install\swigwin-4.0.2\Examples\ruby\free_function\example.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\free_function\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\free_function\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\free_function\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\free_function\runme.rb
require 'example'

begin
  begin
    # Create an animal and zoo
    tiger1 = Example::Animal.new("tiger1")
    zoo = Example::Zoo.new
  
    # At the animal to the zoo - this will transfer ownership
    # of the underlying C++ object to the C++ zoo object
    zoo.add_animal(tiger1)

    # get the id of the tiger
    id1 = tiger1.object_id

    # Unset the tiger
    tiger1 = nil
  end

  # Force a gc
  GC.start

  # Get the tiger and its id
  tiger2 = zoo.get_animal(0)
  id2 = tiger2.object_id

  # The ids should not be the same
  if id1==id2
# Not working - needs checking/fixing
#    raise RuntimeError, "Id's should not be the same"
  end

  zoo = nil
end

GC.start

# This method is no longer valid since the zoo freed the underlying
# C++ object
ok = false
begin
  # Let's stress the GC a bit, a single pass might not be enough.
  10.times {
    GC.start
    puts tiger2.get_name
  }
rescue ObjectPreviouslyDeleted => error
  ok = true
end

raise(RuntimeError, "Incorrect exception raised - should be ObjectPreviouslyDeleted") unless ok
tools\install\swigwin-4.0.2\Examples\ruby\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr\runme.rb
# file: runme.rb

require 'example'

a = 37
b = 42

# Now call our C function with a bunch of callbacks

print "Trying some C callback functions\n"
print "    a        = #{a}\n"
print "    b        = #{b}\n"
print "    ADD(a,b) = ", Example::do_op(a,b,Example::ADD),"\n"
print "    SUB(a,b) = ", Example::do_op(a,b,Example::SUB),"\n"
print "    MUL(a,b) = ", Example::do_op(a,b,Example::MUL),"\n"

print "Here is what the C callback function objects look like in Ruby\n"
print "    ADD      = #{Example::ADD}\n"
print "    SUB      = #{Example::SUB}\n"
print "    MUL      = #{Example::MUL}\n"

tools\install\swigwin-4.0.2\Examples\ruby\funcptr2\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr2\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr2\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr2\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\funcptr2\runme.rb
require 'example'

a = 37
b = 42

# Now call our C function with a bunch of callbacks

puts "Trying some C callback functions"
puts "    a        = #{a}"
puts "    b        = #{b}"
puts "    ADD(a,b) = #{Example.do_op(a,b,Example::ADD)}"
puts "    SUB(a,b) = #{Example.do_op(a,b,Example::SUB)}"
puts "    MUL(a,b) = #{Example.do_op(a,b,Example::MUL)}"

puts "Here is what the C callback function objects look like in Ruby"
puts "    ADD      = #{Example::ADD}"
puts "    SUB      = #{Example::SUB}"
puts "    MUL      = #{Example::MUL}"

puts "Call the functions directly..."
puts "    add(a,b) = #{Example.add(a,b)}"
puts "    sub(a,b) = #{Example.sub(a,b)}"
tools\install\swigwin-4.0.2\Examples\ruby\functor\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\functor\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\functor\runme.rb
# Operator overloading example
require 'example'

a = Example::IntSum.new(0)
b = Example::DoubleSum.new(100.0)

# Use the objects.  They should be callable just like a normal
# Ruby function.

(0..100).each do |i|
  a.call(i)              # note: function call
  b.call(Math.sqrt(i))   # note: function call
end

puts a.result
puts b.result

tools\install\swigwin-4.0.2\Examples\ruby\hashargs\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\hashargs\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\hashargs\runme.rb
require 'example'

include Example

# Pass arguments in as one or more key-value pairs
setVitalStats("Fred",
              'age'    => 42,
              'weight' => 270
              )

# The order doesn't matter
setVitalStats("Sally",
              'age'    => 29,
              'weight' => 115,
	      'height' => 72
              )

# Can also pass a hash directly
params = {
    'ears' => 2,
    'eyes' => 2
}
setVitalStats("Bob", params)

# An empty hash is fine too
setVitalStats("Joe", {})
tools\install\swigwin-4.0.2\Examples\ruby\import\bar.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\import\bar.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import\bar.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import\base.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\import\base.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import\base.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import\example.dsw
 
tools\install\swigwin-4.0.2\Examples\ruby\import\foo.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\import\foo.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import\foo.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\import\README
 
tools\install\swigwin-4.0.2\Examples\ruby\import\runme.rb
# file: runme.rb
# Test various properties of classes defined in separate modules

puts "Testing the %import directive"

require 'base'
require 'foo'
require 'bar'
require 'spam'

# Create some objects

puts "Creating some objects"

a = Base::Base.new
b = Foo::Foo.new
c = Bar::Bar.new
d = Spam::Spam.new

# Try calling some methods
puts "Testing some methods"
puts "Should see 'Base::A' ---> #{a.A}"
puts "Should see 'Base::B' ---> #{a.B}"

puts  "Should see 'Foo::A' ---> #{b.A}"
puts  "Should see 'Foo::B' ---> #{b.B}"

puts  "Should see 'Bar::A' ---> #{c.A}"
puts  "Should see 'Bar::B' ---> #{c.B}"

puts  "Should see 'Spam::A' ---> #{d.A}"
puts  "Should see 'Spam::B' ---> #{d.B}"

# Try some casts

puts "\nTesting some casts\n"

x = a.toBase
puts "Should see 'Base::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = b.toBase
puts "Should see 'Foo::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = c.toBase
puts "Should see 'Bar::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = d.toBase
puts "Should see 'Spam::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = d.toBar
puts "Should see 'Bar::B' ---> #{x.B}"

puts "\nTesting some dynamic casts\n"
x = d.toBase

puts " Spam -> Base -> Foo : "
y = Foo::Foo.fromBase(x)
if y != nil
  puts "bad swig"
else
  puts "good swig"
end

puts " Spam -> Base -> Bar : "
y = Bar::Bar.fromBase(x)
if y != nil
  puts "good swig"
else
  puts "bad swig"
end
      
puts " Spam -> Base -> Spam : "
y = Spam::Spam.fromBase(x)
if y != nil
  puts "good swig"
else
  puts "bad swig"
end

puts " Foo -> Spam : "
y = Spam::Spam.fromBase(b)
if y != nil
  puts "bad swig"
else
  puts "good swig"
end
tools\install\swigwin-4.0.2\Examples\ruby\import\spam.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\import\spam.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import\spam.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\bar.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\bar.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\base.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\base.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\foo.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\foo.i
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\README
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\runme.rb
# file: runme.rb
# Test various properties of classes defined in separate modules

puts "Testing the %import directive with templates"

require 'base'
require 'foo'
require 'bar'
require 'spam'

# Create some objects

puts "Creating some objects"

a = Base::IntBase.new
b = Foo::IntFoo.new
c = Bar::IntBar.new
d = Spam::IntSpam.new

# Try calling some methods
puts "Testing some methods"
puts ""
puts "Should see 'Base::A' ---> #{a.A}"
puts "Should see 'Base::B' ---> #{a.B}"

puts "Should see 'Foo::A' ---> #{b.A}"
puts "Should see 'Foo::B' ---> #{b.B}"

puts "Should see 'Bar::A' ---> #{c.A}"
puts "Should see 'Bar::B' ---> #{c.B}"

puts "Should see 'Spam::A' ---> #{d.A}"
puts "Should see 'Spam::B' ---> #{d.B}"

# Try some casts

puts "\nTesting some casts\n"
puts ""

x = a.toBase
puts "Should see 'Base::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = b.toBase
puts "Should see 'Foo::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = c.toBase
puts "Should see 'Bar::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = d.toBase
puts "Should see 'Spam::A' ---> #{x.A}"
puts "Should see 'Base::B' ---> #{x.B}"

x = d.toBar
puts "Should see 'Bar::B' ---> #{x.B}"

puts "\nTesting some dynamic casts\n"
x = d.toBase

puts " Spam -> Base -> Foo : "
y = Foo::IntFoo.fromBase(x)
if y != nil
      puts "bad swig"
else
      puts "good swig"
end

puts " Spam -> Base -> Bar : "
y = Bar::IntBar.fromBase(x)
if y != nil
      puts "good swig"
else
      puts "bad swig"
end
      
puts " Spam -> Base -> Spam : "
y = Spam::IntSpam.fromBase(x)
if y != nil
      puts "good swig"
else
      puts "bad swig"
end

puts " Foo -> Spam : "
y = Spam::IntSpam.fromBase(b)
if y != nil
      puts "bad swig"
else
      puts "good swig"
end
tools\install\swigwin-4.0.2\Examples\ruby\import_template\spam.h
 
tools\install\swigwin-4.0.2\Examples\ruby\import_template\spam.i
 
tools\install\swigwin-4.0.2\Examples\ruby\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\mark_function\example.cxx
 
tools\install\swigwin-4.0.2\Examples\ruby\mark_function\example.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\mark_function\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\mark_function\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\mark_function\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\mark_function\runme.rb
require 'example'

# create a zoo
zoo = Example::Zoo.new

begin
  # Add in an couple of animals
  tiger1 = Example::Animal.new("tiger1")
  zoo.add_animal(tiger1)
  
  # unset variables to force gc
  tiger1 = nil
end

GC.start

#  Now get the tiger again
tiger2 = zoo.get_animal(0)

# Call a method to verify the animal is still valid and not gc'ed
if tiger2.get_name != "tiger1"
    raise RuntimeError, "Wrong animal name"
end
tools\install\swigwin-4.0.2\Examples\ruby\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\multimap\example.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\multimap\runme.rb
# file: runme.rb

require 'example'

# Call our gcd() function

x = 42
y = 105
g = Example.gcd(x,y)
printf "The gcd of %d and %d is %d\n",x,y,g

# Call the gcdmain() function
Example.gcdmain(["gcdmain","42","105"])

# Call the count function

printf "%d\n",Example.count("Hello World","l")

# Call the capitalize function

printf "%s\n",Example.capitalize("hello world")

tools\install\swigwin-4.0.2\Examples\ruby\operator\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\operator\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\operator\runme.rb
# Operator overloading example
require 'example'

include Example

a = Example::Complex.new(2, 3)
b = Example::Complex.new(-5, 10)

puts "a   = #{a}"
puts "b   = #{b}"

c = a + b
puts "c   = #{c}"
puts "a*b = #{a*b}"
puts "a-c = #{a-c}"

# This should invoke Complex's copy constructor
e = Example::Complex.new(a-c)
e = a - c
puts "e   = #{e}"

# Big expression
f = ((a+b)*(c+b*e)) + (-a)
puts "f   = #{f}"

tools\install\swigwin-4.0.2\Examples\ruby\overloading\example.cxx
 
tools\install\swigwin-4.0.2\Examples\ruby\overloading\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\overloading\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\overloading\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\overloading\runme.rb
require 'example'

# This should invoke foo(double)
Example.foo(3.14159)

# This should invoke foo(double, char *)
Example.foo(3.14159, "Pi")

# This should invoke foo(int, int)
Example.foo(3, 4)

# This should invoke foo(char *)
Example.foo("This is a test")

# This should invoke foo(long)
Example.foo(42)

# This should invoke Bar::Bar() followed by foo(Bar *)
Example.foo(Example::Bar.new)

# Skip a line
puts ""

# Each of the following three calls should invoke spam(int, int, int)
Example.spam(3)
Example.spam(3, 4)
Example.spam(3, 4, 5)

# Skip a line
puts ""

# Each of the following three calls should invoke spam(double, int, int)
Example.spam(3.0)
Example.spam(3.0, 4)
Example.spam(3.0, 4, 5)

# Skip a line
puts ""

# This should invoke Bar::Bar(double)
Example::Bar.new(3.14159)

# This should invoke Bar::Bar(double, char *)
Example::Bar.new(3.14159, "Pi")

# This should invoke Bar::Bar(int, int)
Example::Bar.new(3, 4)

# This should invoke Bar::Bar(char *)
Example::Bar.new("This is a test")

# This should invoke Bar::Bar(int)
Example::Bar.new(42)

# This should invoke Bar::Bar() for the input argument,
# followed by Bar::Bar(const Bar&).
Example::Bar.new(Example::Bar.new)

# Skip a line
puts ""

# Construct a new Bar instance (invokes Bar::Bar())
bar = Example::Bar.new

# This should invoke Bar::foo(double)
bar.foo(3.14159)

# This should invoke Bar::foo(double, char *)
bar.foo(3.14159, "Pi")

# This should invoke Bar::foo(int, int)
bar.foo(3, 4)

# This should invoke Bar::foo(char *)
bar.foo("This is a test")

# This should invoke Bar::foo(int)
bar.foo(42)

# This should invoke Bar::Bar() to construct the input
# argument, followed by Bar::foo(Bar *).
bar.foo(Example::Bar.new)

# This should invoke Bar::spam(int x, int y, int z)
bar.spam(1)

# This should invoke Bar::spam(double x, int y, int z)
bar.spam(3.14159)
tools\install\swigwin-4.0.2\Examples\ruby\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\pointer\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\pointer\runme.rb
# file: runme.rb

require 'example'

# First create some objects using the pointer library.
print "Testing the pointer library\n"
a = Example::new_intp()
b = Example::new_intp()
c = Example::new_intp()

Example::intp_assign(a,37)
Example::intp_assign(b,42)

print "     a = #{a}\n"
print "     b = #{b}\n"
print "     c = #{c}\n"

# Call the add() function with some pointers
Example::add(a, b, c)

# Now get the result
r = Example::intp_value(c)
print "     37 + 42 = #{r}\n"

# Clean up the pointers
Example::delete_intp(a)
Example::delete_intp(b)
Example::delete_intp(c)

# Now try the typemap library
# This should be much easier. Now how it is no longer
# necessary to manufacture pointers.

print "Trying the typemap library\n"
r = Example::sub(37, 42)
print "     37 - 42 = #{r}\n"

# Now try the version with multiple return values

print "Testing multiple return values\n"
q, r = Example::divide(42, 37)
print "     42/37 = #{q} remainder #{r}\n"



tools\install\swigwin-4.0.2\Examples\ruby\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\ruby\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\reference\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\reference\runme.rb
# file: runme.rb

# This file illustrates the manipulation of C++ references in Ruby.

require 'example'

# ----- Object creation -----

print "Creating some objects:\n"
a = Example::Vector.new(3,4,5)
b = Example::Vector.new(10,11,12)

print "    Created ", a.print, "\n"
print "    Created ", b.print, "\n"

# ----- Call an overloaded operator -----

# This calls the wrapper we placed around
#
#      operator+(const Vector &a, const Vector &) 
#
# It returns a new allocated object.

print "Adding a+b\n"
c = Example::addv(a, b)
print "    a+b = ", c.print, "\n"

# ----- Create a vector array -----

print "Creating an array of vectors\n"
va = Example::VectorArray.new(10)
print "    va = #{va}\n"

# ----- Set some values in the array -----

# These operators copy the value of a and b to the vector array
va.set(0, a)
va.set(1, b)

va.set(2, Example::addv(a,b))

c = Example::addv(a,b)
va.set(3, c)

=begin commented out due to GC issue

# Get some values from the array

print "Getting some array values\n"
for i in 0...5
  print "    va(#{i}) = ", va.get(i).print, "\n"
end

# Watch under resource meter to check on this
print "Making sure we don't leak memory.\n"
for i in 0...1000000
  c = va.get(i % 10)
end

=end
tools\install\swigwin-4.0.2\Examples\ruby\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\simple\example.dsp
 
tools\install\swigwin-4.0.2\Examples\ruby\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\simple\runme.rb
# file: runme.rb

require 'example'

# Call our gcd() function

x = 42
y = 105
g = Example.gcd(x,y)
printf "The gcd of %d and %d is %d\n",x,y,g

# Manipulate the Foo global variable

# Output its current value
print "Foo = ", Example.Foo, "\n"

# Change its value
Example.Foo = 3.1415926

# See if the change took effect
print "Foo = ", Example.Foo, "\n"
tools\install\swigwin-4.0.2\Examples\ruby\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\std_vector\runme.rb
# file: runme.rb

require 'example'

# Call average with a Ruby array...

puts Example::average([1,2,3,4])

# ... or a wrapped std::vector<int>

v = Example::IntVector.new(4)
0.upto(v.size-1) { |i| v[i] = i+1 }
puts Example::average(v)


# half will return a Ruby array.
# Call it with a Ruby array...

w = Example::half([1.0, 1.5, 2.0, 2.5, 3.0])
0.upto(w.size-1) { |i| print w[i],"; " }
puts

# ... or a wrapped std::vector<double>

v = Example::DoubleVector.new
[1,2,3,4].each { |i| v.push(i) }
w = Example::half(v)
0.upto(w.size-1) { |i| print w[i],"; " }
puts

# now halve a wrapped std::vector<double> in place

Example::halve_in_place(v)
0.upto(v.size-1) { |i| print v[i],"; " }
puts

tools\install\swigwin-4.0.2\Examples\ruby\template\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\template\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\template\runme.rb
# file: runme.rb

require 'example'

# Call some templated functions
puts Example::maxint(3, 7)
puts Example::maxdouble(3.14, 2.18)

# Create some class

iv = Example::Vecint.new(100)
dv = Example::Vecdouble.new(1000)

100.times { |i| iv.setitem(i, 2*i) }

1000.times { |i| dv.setitem(i, 1.0/(i+1)) }

sum = 0
100.times { |i| sum = sum + iv.getitem(i) }

puts sum

sum = 0.0
1000.times { |i| sum = sum + dv.getitem(i) }
puts sum
tools\install\swigwin-4.0.2\Examples\ruby\value\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\value\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\value\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\value\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\value\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\value\runme.rb
# file: runme.rb

require 'example'

# Create a couple of a vectors

v = Example::new_Vector(1, 2, 3)
w = Example::new_Vector(10, 11, 12)

print "I just created the following vectors\n"
Example::vector_print(v)
Example::vector_print(w)

# Now call some of our functions

print "\nNow I'm going to compute the dot product\n"
d = Example::dot_product(v,w)
print "dot product = #{d} (should be 68)\n"

# Add the vectors together

print "\nNow I'm going to add the vectors together\n"
r = Example::vector_add(v,w)
Example::vector_print(r)
print "The value should be (11, 13, 15)\n"

# Now I'd better clean up the return result r

print "\nNow I'm going to clean up the return result\n"
Example::free(r)

print "Good\n"
tools\install\swigwin-4.0.2\Examples\ruby\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\ruby\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\ruby\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\ruby\variables\index.html
 
tools\install\swigwin-4.0.2\Examples\ruby\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\ruby\variables\runme.rb
# file: runme.rb

require 'example'

# Try to set the values of some global variables

Example.ivar   =  42
Example.svar   = -31000
Example.lvar   =  65537
Example.uivar  =  123456
Example.usvar  =  61000
Example.ulvar  =  654321
Example.scvar  =  -13
Example.ucvar  =  251
Example.cvar   =  "S"
Example.fvar   =  3.14159
Example.dvar   =  2.1828
Example.strvar =  "Hello World"
Example.iptrvar= Example.new_int(37)
Example.ptptr  = Example.new_Point(37,42)
Example.name   = "Bill"

# Now print out the values of the variables

puts "Variables (values printed from Ruby)"

puts "ivar      = #{Example.ivar}"
puts "svar      = #{Example.svar}"
puts "lvar      = #{Example.lvar}"
puts "uivar     = #{Example.uivar}"
puts "usvar     = #{Example.usvar}"
puts "ulvar     = #{Example.ulvar}"
puts "scvar     = #{Example.scvar}"
puts "ucvar     = #{Example.ucvar}"
puts "fvar      = #{Example.fvar}"
puts "dvar      = #{Example.dvar}"
puts "cvar      = #{Example.cvar}"
puts "strvar    = #{Example.strvar}"
puts "cstrvar   = #{Example.cstrvar}"
puts "iptrvar   = #{Example.iptrvar}"
puts "name      = #{Example.name}"
puts "ptptr     = #{Example.ptptr} (#{Example.Point_print(Example.ptptr)})"
puts "pt        = #{Example.pt} (#{Example.Point_print(Example.pt)})"

puts "\nVariables (values printed from C)"

Example.print_vars()

puts "\nNow I'm going to try and modify some read only variables";

puts "     Trying to set 'path'";
begin
  Example.path = "Whoa!"
  puts "Hey, what's going on?!?! This shouldn't work"
rescue NameError
  puts "Good."
end

puts "     Trying to set 'status'";
begin
  Example.status = 0
  puts "Hey, what's going on?!?! This shouldn't work"
rescue NameError
  puts "Good."
end


puts "\nI'm going to try and update a structure variable.\n"

Example.pt = Example.ptptr

puts "The new value is"
Example.pt_print()
puts "You should see the value #{Example.Point_print(Example.ptptr)}"



tools\install\swigwin-4.0.2\Examples\s-exp\uffi.lisp
 
tools\install\swigwin-4.0.2\Examples\scilab\check.list
 
tools\install\swigwin-4.0.2\Examples\scilab\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\scilab\class\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\class\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\class\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\constants\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\contract\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\contract\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\contract\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\contract\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\scilab\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\enum\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\funcptr\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix2\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix2\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix2\main.c
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix2\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\matrix2\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\pointer\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\simple\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\std_list\example.cxx
 
tools\install\swigwin-4.0.2\Examples\scilab\std_list\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\std_list\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\std_list\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\std_list\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\std_vector\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\struct\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\struct\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\struct\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\template\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\template\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\template\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\template\runme.sci
 
tools\install\swigwin-4.0.2\Examples\scilab\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\scilab\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\scilab\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\scilab\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\scilab\variables\runme.sci
 
tools\install\swigwin-4.0.2\Examples\tcl\check.list
 
tools\install\swigwin-4.0.2\Examples\tcl\class\example.cxx
 
tools\install\swigwin-4.0.2\Examples\tcl\class\example.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\class\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\class\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\class\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\class\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\class\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\class\runme2.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\constants\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\constants\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\constants\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\constants\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\contract\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\contract\example.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\contract\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\contract\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\contract\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\enum\example.cxx
 
tools\install\swigwin-4.0.2\Examples\tcl\enum\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\enum\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\enum\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\enum\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\enum\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\funcptr\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\funcptr\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\funcptr\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\funcptr\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\funcptr\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\funcptr\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\import\bar.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\import\bar.h
 
tools\install\swigwin-4.0.2\Examples\tcl\import\bar.i
 
tools\install\swigwin-4.0.2\Examples\tcl\import\base.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\import\base.h
 
tools\install\swigwin-4.0.2\Examples\tcl\import\base.i
 
tools\install\swigwin-4.0.2\Examples\tcl\import\example.dsw
 
tools\install\swigwin-4.0.2\Examples\tcl\import\foo.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\import\foo.h
 
tools\install\swigwin-4.0.2\Examples\tcl\import\foo.i
 
tools\install\swigwin-4.0.2\Examples\tcl\import\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\import\README
 
tools\install\swigwin-4.0.2\Examples\tcl\import\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\import\spam.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\import\spam.h
 
tools\install\swigwin-4.0.2\Examples\tcl\import\spam.i
 
tools\install\swigwin-4.0.2\Examples\tcl\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\multimap\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\multimap\example.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\multimap\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\multimap\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\multimap\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\operator\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\operator\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\operator\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\operator\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\pointer\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\pointer\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\pointer\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\pointer\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\pointer\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\reference\example.cxx
 
tools\install\swigwin-4.0.2\Examples\tcl\reference\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\reference\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\reference\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\reference\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\reference\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\simple\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\simple\example.dsp
 
tools\install\swigwin-4.0.2\Examples\tcl\simple\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\simple\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\simple\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\simple\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\std_vector\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\std_vector\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\std_vector\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\std_vector\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\value\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\value\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\value\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\value\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\value\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\value\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\tcl\variables\example.c
 
tools\install\swigwin-4.0.2\Examples\tcl\variables\example.h
 
tools\install\swigwin-4.0.2\Examples\tcl\variables\example.i
 
tools\install\swigwin-4.0.2\Examples\tcl\variables\index.html
 
tools\install\swigwin-4.0.2\Examples\tcl\variables\Makefile
 
tools\install\swigwin-4.0.2\Examples\tcl\variables\runme.tcl
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_access.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_inherit.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_inherit_ok.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_signature.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_typedef.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_typedef2.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\abstract_virtual.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\access_change.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\add_link.i
tools\install\swigwin-4.0.2\Examples\test-suite\aggregate.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\allegrocl\Makefile.in
 
tools\install\swigwin-4.0.2\Examples\test-suite\allowexcept.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\allprotected.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\allprotected_not.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\anonymous_bitfield.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\apply_signed_char.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\apply_strings.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\argcargvtest.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\argout.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\arrayref.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\arrays.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\arrays_dimensionless.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\arrays_global.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\arrays_global_twodim.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\arrays_scope.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\array_member.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\array_typedef_memberin.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\autodoc.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\bloody_hell.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\bom_utf8.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\bools.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\callback.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\casts.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cast_operator.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\catches.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cffi\Makefile.in
 
tools\install\swigwin-4.0.2\Examples\test-suite\chartest.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\char_binary.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\char_constant.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\char_strings.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\casts_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\char_constant_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\chicken_ext_test_external.cxx
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\chicken_ext_test_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\class_ignore_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\clientdata_prop_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\constover_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\contract_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\cpp_basic_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\cpp_enum_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\cpp_namespace_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\dynamic_cast_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\global_vars_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\global_vars_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\imports_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\import_nomodule_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\inherit_missing_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\list_vector_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\li_std_string_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\li_std_string_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\li_typemaps_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\li_typemaps_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\Makefile.in
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\member_pointer_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\multiple_inheritance_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\multivalue_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\name_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\newobject1_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\newobject2_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\newobject2_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_complicated_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_copy_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_copy_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_extend_c_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_extend_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_extend_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_simple_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_simple_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_subtype_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\overload_subtype_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\pointer_in_out_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\README
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\reference_global_vars_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\testsuite.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\throw_exception_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\typedef_inherit_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\typename_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\unions_runme.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken\unions_runme_proxy.ss
 
tools\install\swigwin-4.0.2\Examples\test-suite\chicken_ext_test.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\class_forward.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\class_ignore.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\class_scope_namespace.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\class_scope_weird.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\clientdata_prop.list
 
tools\install\swigwin-4.0.2\Examples\test-suite\clientdata_prop_a.h
 
tools\install\swigwin-4.0.2\Examples\test-suite\clientdata_prop_a.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\clientdata_prop_b.h
 
tools\install\swigwin-4.0.2\Examples\test-suite\clientdata_prop_b.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\clisp\Makefile.in
 
tools\install\swigwin-4.0.2\Examples\test-suite\common.mk
 
tools\install\swigwin-4.0.2\Examples\test-suite\compactdefaultargs.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\complextest.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constants.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constant_directive.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constant_expr.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constant_pointers.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constover.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constructor_copy.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constructor_exception.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constructor_explicit.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constructor_ignore.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constructor_rename.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\constructor_value.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\const_const.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\const_const_2.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\contract.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\conversion.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\conversion_namespace.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\conversion_ns_template.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\conversion_operators.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cplusplus_throw.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_alias_nested_template_scoping.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_alignment.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_alternate_function_syntax.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_constexpr.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_decltype.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_default_delete.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_delegating_constructors.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_directors.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_director_enums.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_explicit_conversion_operators.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_final_directors.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_final_override.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_function_objects.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_hash_tables.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_inheriting_constructors.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_initializer_list.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_initializer_list_extend.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_lambda_functions.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_noexcept.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_null_pointer_constant.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_raw_string_literals.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_reference_wrapper.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_ref_qualifiers.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_ref_qualifiers_rvalue_unignore.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_ref_qualifiers_typemaps.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_result_of.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_rvalue_reference.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_rvalue_reference2.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_rvalue_reference3.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_shared_ptr_const.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_shared_ptr_nullptr_in_containers.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_shared_ptr_overload.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_shared_ptr_template_upcast.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_shared_ptr_upcast.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_sizeof_object.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_static_assert.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_std_array.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_std_unordered_map.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_std_unordered_multimap.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_std_unordered_multiset.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_std_unordered_set.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_strongly_typed_enumerations.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_strongly_typed_enumerations_simple.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_template_double_brackets.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_template_explicit.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_template_typedefs.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_thread_local.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_type_aliasing.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_type_traits.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_uniform_initialization.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_unrestricted_unions.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_userdefined_literals.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp11_variadic_templates.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp14_binary_integer_literals.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp17_hex_floating_literals.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp17_nested_namespaces.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp17_nspace_nested_namespaces.i
 
tools\install\swigwin-4.0.2\Examples\test-suite\cpp17_u8_char_literals