From 8fe367ecf2cbda79960a68a052fdb84916427c0e Mon Sep 17 00:00:00 2001 From: tradke Date: Wed, 13 Sep 2000 13:49:13 +0000 Subject: Importing latest stuff from development repository git-svn-id: http://svn.cactuscode.org/arrangements/CactusExternal/FlexIO/trunk@2 21a6bef8-4479-4f54-8f8d-0db94a2919ef --- src/testallocation.cc | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/testallocation.cc (limited to 'src/testallocation.cc') diff --git a/src/testallocation.cc b/src/testallocation.cc new file mode 100644 index 0000000..75bc48c --- /dev/null +++ b/src/testallocation.cc @@ -0,0 +1,82 @@ +#include +#include +#include + +#include "FlexArrayTmpl.H" + +struct InnerContainer { + int num; + + InnerContainer(InnerContainer &src){ + this->num=src.num; + } + InnerContainer &operator=(InnerContainer &src){ + if(this==&src) return src; + this->num=src.num; + return *this; + } + InnerContainer(){ + printf("\tNew InnerContainer %lu\n",(unsigned long)this); + num=-1; /* uninitialized */ + } + ~InnerContainer(){ + printf("\tInnerContainer[%lu] destruct %d\n",(unsigned long)this,num); + } +}; + +struct OuterContainer { + int num; + FlexArray inner; + OuterContainer(OuterContainer &src){ + this->num=src.num; + this->inner=src.inner; + } + OuterContainer &operator=(OuterContainer &src){ + if(this==&src) return src; + this->num=src.num; + this->inner=src.inner; + return *this; + } + OuterContainer(){ + printf("New OuterContainer %lu\n",(unsigned long)this); + num=-1; + } + ~OuterContainer(){ + printf("OuterContainer[%lu] destruct %d innersize=%u\n", + (unsigned long)this,num,inner.getSize()); + } +}; + +struct Container { + FlexArray outer; + + Container(int sz){ + int i,j; + outer.setSize(sz); + for(i=0;i