Lines Matching refs:C2
49 struct C2 struct
54 explicit C2(int id) : B(id-2), id_(id) {count++;} in C2() function
55 C2(const C2& a) : B(a.id_-2), id_(a.id_) {count++;} in C2() function
56 ~C2() {count--;} in ~C2() argument
59 int C2::count = 0;
62 : C1, C2
66 explicit A(int id) : C1(id-1), C2(id-2), id_(id) {count++;} in A()
67 A(const A& a) : C1(a.id_-1), C2(a.id_-2), id_(a.id_) {count++;} in A()
77 assert(C2::count == 0); in f1()
82 assert(C2::count == 1); in f1()
87 assert(static_cast<C2&>(a).id_ == 3); in f1()
89 assert(static_cast<B&>(static_cast<C2&>(a)).id_ == 1); in f1()
100 assert(C2::count == 0); in f2()
109 assert(static_cast<const C2&>(a).id_ == 3); in f2()
111 assert(static_cast<const B&>(static_cast<const C2&>(a)).id_ == 1); in f2()
118 catch (const C2&) in f2()
134 assert(C2::count == 0); in f3()
149 catch (const C2&) in f3()
161 assert(C2::count == 0); in f4()
170 catch (const C2& c2) // can catch C2 in f4()
194 assert(C2::count == 0); in main()