# 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