diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
---|---|---|
committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/python/reference/runme.py | |
download | swig-tarball-master.tar.gz |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/python/reference/runme.py')
-rw-r--r-- | Examples/python/reference/runme.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Examples/python/reference/runme.py b/Examples/python/reference/runme.py new file mode 100644 index 0000000..a1f5336 --- /dev/null +++ b/Examples/python/reference/runme.py @@ -0,0 +1,63 @@ +# 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 + |