MCPcopy Create free account
hub / github.com/boostorg/build / C

Class C

v2/engine/boehm_gc/tests/test_cpp.cc:86–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84
85
86class C: public gc_cleanup, public A {public:
87 /* A collectable class with cleanup and virtual multiple inheritance. */
88
89 C( int levelArg ): A( levelArg ), level( levelArg ) {
90 nAllocated++;
91 if (level > 0) {
92 left = new C( level - 1 );
93 right = new C( level - 1 );}
94 else {
95 left = right = 0;}}
96 ~C() {
97 this->A::Test( level );
98 nFreed++;
99 my_assert( level == 0 ?
100 left == 0 && right == 0 :
101 level == left->level + 1 && level == right->level + 1 );
102 left = right = 0;
103 level = -123456;}
104 static void Test() {
105 my_assert( nFreed <= nAllocated && nFreed >= .8 * nAllocated );}
106
107 static int nFreed;
108 static int nAllocated;
109 int level;
110 C* left;
111 C* right;};
112
113int C::nFreed = 0;
114int C::nAllocated = 0;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected