xpcom/tests/SizeTest04.cpp

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:ef9adb22d8a8
1 // Test04.cpp
2
3 #include "nsIDOMNode.h"
4 #include "nsCOMPtr.h"
5
6 NS_DEF_PTR(nsIDOMNode);
7
8 /*
9 Windows:
10 nsCOMPtr 13
11 raw 36
12
13 Macintosh:
14 nsCOMPtr 36 bytes (1.0000)
15 raw 120 (3.3333) i.e., 333.33% bigger than nsCOMPtr
16 */
17
18 class Test04_Raw
19 {
20 public:
21 Test04_Raw();
22 ~Test04_Raw();
23
24 void /*nsresult*/ SetNode( nsIDOMNode* newNode );
25
26 private:
27 nsIDOMNode* mNode;
28 };
29
30 Test04_Raw::Test04_Raw()
31 : mNode(0)
32 {
33 // nothing else to do here
34 }
35
36 Test04_Raw::~Test04_Raw()
37 {
38 NS_IF_RELEASE(mNode);
39 }
40
41 void // nsresult
42 Test04_Raw::SetNode( nsIDOMNode* newNode )
43 // m120, w36
44 {
45 NS_IF_ADDREF(newNode);
46 NS_IF_RELEASE(mNode);
47 mNode = newNode;
48
49 // return NS_OK;
50 }
51
52
53
54 class Test04_nsCOMPtr
55 {
56 public:
57 void /*nsresult*/ SetNode( nsIDOMNode* newNode );
58
59 private:
60 nsCOMPtr<nsIDOMNode> mNode;
61 };
62
63 void // nsresult
64 Test04_nsCOMPtr::SetNode( nsIDOMNode* newNode )
65 // m36, w13/13
66 {
67 mNode = newNode;
68 }

mercurial