aboutsummaryrefslogtreecommitdiff
path: root/src/tests/sptr.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2007-07-03 00:28:59 +0000
committerMike Buland <eichlan@xagasoft.com>2007-07-03 00:28:59 +0000
commitac517a2b7625e0aa0862679e961c6349f859ea3b (patch)
treee3e27a6b9bd5e2be6150088495c91fc91786ad9d /src/tests/sptr.cpp
parentf8d4301e9fa4f3709258505941e37fab2eadadc6 (diff)
parentbd865cee5f89116c1f054cd0e5c275e97c2d0a9b (diff)
downloadlibbu++-ac517a2b7625e0aa0862679e961c6349f859ea3b.tar.gz
libbu++-ac517a2b7625e0aa0862679e961c6349f859ea3b.tar.bz2
libbu++-ac517a2b7625e0aa0862679e961c6349f859ea3b.tar.xz
libbu++-ac517a2b7625e0aa0862679e961c6349f859ea3b.zip
The reorg is being put in trunk, I think it's ready. Now we just get to find
out how many applications won't work anymore :)
Diffstat (limited to 'src/tests/sptr.cpp')
-rw-r--r--src/tests/sptr.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/tests/sptr.cpp b/src/tests/sptr.cpp
deleted file mode 100644
index 252463b..0000000
--- a/src/tests/sptr.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
1#include <stdio.h>
2#include "sptr.h"
3
4class Annoy
5{
6public:
7 Annoy() : nCnt( 0 )
8 {
9 printf("Created.\n");
10 }
11
12 virtual ~Annoy()
13 {
14 printf("Destroyed.\n");
15 }
16
17 virtual void go()
18 {
19 printf("%d: I'm annoying.\n", ++nCnt);
20 }
21
22 int nCnt;
23};
24
25class Annoy2: public Annoy
26{
27public:
28 Annoy2(){};
29 virtual ~Annoy2(){};
30 virtual void go()
31 {
32 printf("{{I'm Annoy2!!}} ");
33 Annoy::go();
34 }
35 virtual void go2()
36 {
37 printf("This is me, on my own...\n");
38 }
39};
40
41void beAnnoying( SPtr<Annoy> bob )
42{
43 printf("bob-Count: %d\n", bob.count() );
44 bob->go();
45}
46
47int main()
48{
49 SPtr<Annoy> pt( new Annoy2 );
50 printf("Count: %d\n", pt.count() );
51 pt->go();
52
53 {
54 SPtr<Annoy> pt2 = pt;
55 printf("Count: %d\n", pt2.count() );
56
57 pt2->go();
58
59 {
60 SPtr<Annoy> pt3( pt2 );
61 printf("Count: %d\n", pt3.count() );
62
63 pt3->go();
64
65 beAnnoying( pt3 );
66
67 {
68 SPtr<Annoy2> pt4( SPtrCast<Annoy2>( pt3 ) );
69 printf("Count: %d\n", pt4.count() );
70
71 pt4->go2();
72 }
73 printf("Count: %d\n", pt.count() );
74 }
75 printf("Count: %d\n", pt.count() );
76 }
77 printf("Count: %d\n", pt.count() );
78}
79