From 2824b0cbb66e715490e1ef13250bd675d87b32d9 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Wed, 2 Jun 2010 20:53:17 +0000 Subject: rel-2.0.0 git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- trunk/Examples/php/reference/example.cxx | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 trunk/Examples/php/reference/example.cxx (limited to 'trunk/Examples/php/reference/example.cxx') diff --git a/trunk/Examples/php/reference/example.cxx b/trunk/Examples/php/reference/example.cxx new file mode 100644 index 000000000..13e47eade --- /dev/null +++ b/trunk/Examples/php/reference/example.cxx @@ -0,0 +1,49 @@ +/* File : example.cxx */ + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +#include "example.h" +#include +#include + +Vector operator+(const Vector &a, const Vector &b) { + Vector r; + r.x = a.x + b.x; + r.y = a.y + b.y; + r.z = a.z + b.z; + return r; +} + +char *Vector::as_string() { + static char temp[512]; + sprintf(temp,"Vector %p (%g,%g,%g)", this, x,y,z); + return temp; +} + +VectorArray::VectorArray(int size) { + items = new Vector[size]; + maxsize = size; + printf("VectorArray new: self=%p\n",this); +} + +VectorArray::~VectorArray() { + printf("VectorArray delete: self=%p\n",this); + delete [] items; +} + +Vector &VectorArray::operator[](int index) { + printf("VectorArray: read[%d] self=%p\n",index,this); + if ((index < 0) || (index >= maxsize)) { + printf("Panic! Array index out of bounds.\n"); + exit(1); + } + return items[index]; +} + +int VectorArray::size() { + printf("VectorArray: size %d self=%p\n",maxsize,this); + return maxsize; +} -- cgit v1.2.1