1 //===------------------------- dynamic_cast14.cpp -------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include <cassert> 11 #include "support/timer.hpp" 12 13 namespace t1 14 { 15 16 struct A1 17 { 18 char _[43981]; 19 virtual ~A1() {} 20 21 A1* getA1() {return this;} 22 }; 23 24 struct A2 25 { 26 char _[34981]; 27 virtual ~A2() {} 28 29 A2* getA2() {return this;} 30 }; 31 32 struct A3 33 : public A1, 34 public virtual A2 35 { 36 char _[93481]; 37 virtual ~A3() {} 38 39 A1* getA1_3() {return A1::getA1();} 40 A2* getA2() {return A2::getA2();} 41 A3* getA3() {return this;} 42 }; 43 44 struct A4 45 : public virtual A2, 46 public A1 47 { 48 char _[13489]; 49 virtual ~A4() {} 50 51 A1* getA1_4() {return A1::getA1();} 52 A2* getA2() {return A2::getA2();} 53 A4* getA4() {return this;} 54 }; 55 56 struct A5 57 : public A3, 58 public A4 59 { 60 char _[13489]; 61 virtual ~A5() {} 62 63 A1* getA1_3() {return A3::getA1();} 64 A1* getA1_4() {return A4::getA1();} 65 A2* getA2() {return A3::getA2();} 66 A3* getA3() {return A3::getA3();} 67 A4* getA4() {return A4::getA4();} 68 A5* getA5() {return this;} 69 }; 70 71 struct A6 72 : public A1 73 { 74 char _[81349]; 75 virtual ~A6() {} 76 77 A1* getA1_6() {return A1::getA1();} 78 A6* getA6() {return this;} 79 }; 80 81 struct A7 82 : public A5, 83 public A6 84 { 85 char _[34819]; 86 virtual ~A7() {} 87 88 A1* getA1_3() {return A5::getA1_3();} 89 A1* getA1_4() {return A5::getA1_4();} 90 A1* getA1_6() {return A6::getA1_6();} 91 A2* getA2() {return A5::getA2();} 92 A3* getA3() {return A5::getA3();} 93 A4* getA4() {return A5::getA4();} 94 A5* getA5() {return A5::getA5();} 95 A6* getA6() {return A6::getA6();} 96 A7* getA7() {return this;} 97 }; 98 99 struct A8 100 : public A7 101 { 102 char _[3489]; 103 virtual ~A8() {} 104 105 A1* getA1_3() {return A7::getA1_3();} 106 A1* getA1_4() {return A7::getA1_4();} 107 A1* getA1_6() {return A7::getA1_6();} 108 A2* getA2() {return A7::getA2();} 109 A3* getA3() {return A7::getA3();} 110 A4* getA4() {return A7::getA4();} 111 A5* getA5() {return A7::getA5();} 112 A6* getA6() {return A7::getA6();} 113 A7* getA7() {return A7::getA7();} 114 A8* getA8() {return this;} 115 }; 116 117 struct A9 118 : public A1 119 { 120 char _[3481]; 121 virtual ~A9() {} 122 123 A1* getA1_9() {return A1::getA1();} 124 A9* getA9() {return this;} 125 }; 126 127 struct A10 128 : public virtual A8 129 { 130 char _[4831]; 131 virtual ~A10() {} 132 133 A1* getA1_3() {return A8::getA1_3();} 134 A1* getA1_4() {return A8::getA1_4();} 135 A1* getA1_6() {return A8::getA1_6();} 136 A2* getA2() {return A8::getA2();} 137 A3* getA3() {return A8::getA3();} 138 A4* getA4() {return A8::getA4();} 139 A5* getA5() {return A8::getA5();} 140 A6* getA6() {return A8::getA6();} 141 A7* getA7() {return A8::getA7();} 142 A8* getA8() {return A8::getA8();} 143 A10* getA10() {return this;} 144 }; 145 146 struct A11 147 : public virtual A8, 148 public A9 149 { 150 char _[6483]; 151 virtual ~A11() {} 152 153 A1* getA1_3() {return A8::getA1_3();} 154 A1* getA1_4() {return A8::getA1_4();} 155 A1* getA1_6() {return A8::getA1_6();} 156 A1* getA1_9() {return A9::getA1_9();} 157 A2* getA2() {return A8::getA2();} 158 A3* getA3() {return A8::getA3();} 159 A4* getA4() {return A8::getA4();} 160 A5* getA5() {return A8::getA5();} 161 A6* getA6() {return A8::getA6();} 162 A7* getA7() {return A8::getA7();} 163 A8* getA8() {return A8::getA8();} 164 A9* getA9() {return A9::getA9();} 165 A11* getA11() {return this;} 166 }; 167 168 struct A12 169 : public A10, 170 public A11 171 { 172 char _[2283]; 173 virtual ~A12() {} 174 175 A1* getA1_3() {return A10::getA1_3();} 176 A1* getA1_4() {return A10::getA1_4();} 177 A1* getA1_6() {return A10::getA1_6();} 178 A1* getA1_9() {return A11::getA1_9();} 179 A2* getA2() {return A10::getA2();} 180 A3* getA3() {return A10::getA3();} 181 A4* getA4() {return A10::getA4();} 182 A5* getA5() {return A10::getA5();} 183 A6* getA6() {return A10::getA6();} 184 A7* getA7() {return A10::getA7();} 185 A8* getA8() {return A10::getA8();} 186 A9* getA9() {return A11::getA9();} 187 A10* getA10() {return A10::getA10();} 188 A11* getA11() {return A11::getA11();} 189 A12* getA12() {return this;} 190 }; 191 192 struct A13 193 : public A12 194 { 195 char _[1283]; 196 virtual ~A13() {} 197 198 A1* getA1_3() {return A12::getA1_3();} 199 A1* getA1_4() {return A12::getA1_4();} 200 A1* getA1_6() {return A12::getA1_6();} 201 A1* getA1_9() {return A12::getA1_9();} 202 A2* getA2() {return A12::getA2();} 203 A3* getA3() {return A12::getA3();} 204 A4* getA4() {return A12::getA4();} 205 A5* getA5() {return A12::getA5();} 206 A6* getA6() {return A12::getA6();} 207 A7* getA7() {return A12::getA7();} 208 A8* getA8() {return A12::getA8();} 209 A9* getA9() {return A12::getA9();} 210 A10* getA10() {return A12::getA10();} 211 A11* getA11() {return A12::getA11();} 212 A12* getA12() {return A12::getA12();} 213 A13* getA13() {return this;} 214 }; 215 216 A3 a3; 217 A4 a4; 218 A5 a5; 219 A6 a6; 220 A7 a7; 221 A8 a8; 222 A9 a9; 223 A10 a10; 224 A11 a11; 225 A12 a12; 226 A13 a13; 227 228 void test() 229 { 230 assert(dynamic_cast<A3*>(a3.getA1_3()) == a3.getA3()); 231 assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3()); 232 233 assert(dynamic_cast<A3*>(a4.getA1_4()) == 0); 234 assert(dynamic_cast<A3*>(a4.getA2()) == 0); 235 assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4()); 236 assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4()); 237 238 assert(dynamic_cast<A3*>(a5.getA1_3()) == a5.getA3()); 239 assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3()); 240 241 assert(dynamic_cast<A4*>(a5.getA1_3()) == a5.getA4()); 242 assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4()); 243 assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4()); 244 assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4()); 245 246 assert(dynamic_cast<A5*>(a5.getA1_3()) == a5.getA5()); 247 assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5()); 248 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 249 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 250 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 251 assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5()); 252 253 assert(dynamic_cast<A3*>(a6.getA1_6()) == 0); 254 255 assert(dynamic_cast<A4*>(a6.getA1_6()) == 0); 256 257 assert(dynamic_cast<A5*>(a6.getA1_6()) == 0); 258 259 assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6()); 260 261 assert(dynamic_cast<A3*>(a7.getA1_3()) == a7.getA3()); 262 assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3()); 263 assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3()); 264 265 assert(dynamic_cast<A4*>(a7.getA1_3()) == a7.getA4()); 266 assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4()); 267 assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4()); 268 assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4()); 269 270 assert(dynamic_cast<A5*>(a7.getA1_3()) == a7.getA5()); 271 assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5()); 272 assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5()); 273 assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5()); 274 assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5()); 275 276 assert(dynamic_cast<A6*>(a7.getA1_3()) == a7.getA6()); 277 assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6()); 278 assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6()); 279 assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6()); 280 assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6()); 281 assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6()); 282 assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6()); 283 284 assert(dynamic_cast<A7*>(a7.getA1_3()) == a7.getA7()); 285 assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7()); 286 assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7()); 287 assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7()); 288 assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7()); 289 assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7()); 290 assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7()); 291 assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7()); 292 293 assert(dynamic_cast<A3*>(a8.getA1_3()) == a8.getA3()); 294 assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3()); 295 assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3()); 296 297 assert(dynamic_cast<A4*>(a8.getA1_3()) == a8.getA4()); 298 assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4()); 299 assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4()); 300 assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4()); 301 302 assert(dynamic_cast<A5*>(a8.getA1_3()) == a8.getA5()); 303 assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5()); 304 assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5()); 305 assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5()); 306 assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5()); 307 308 assert(dynamic_cast<A6*>(a8.getA1_3()) == a8.getA6()); 309 assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6()); 310 assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6()); 311 assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6()); 312 assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6()); 313 assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6()); 314 assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6()); 315 316 assert(dynamic_cast<A7*>(a8.getA1_3()) == a8.getA7()); 317 assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7()); 318 assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7()); 319 assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7()); 320 assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7()); 321 assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7()); 322 assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7()); 323 assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7()); 324 325 assert(dynamic_cast<A8*>(a8.getA1_3()) == a8.getA8()); 326 assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8()); 327 assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8()); 328 assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8()); 329 assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8()); 330 assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8()); 331 assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8()); 332 assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8()); 333 assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8()); 334 335 assert(dynamic_cast<A3*>(a9.getA1_9()) == 0); 336 337 assert(dynamic_cast<A4*>(a9.getA1_9()) == 0); 338 339 assert(dynamic_cast<A5*>(a9.getA1_9()) == 0); 340 341 assert(dynamic_cast<A6*>(a9.getA1_9()) == 0); 342 343 assert(dynamic_cast<A7*>(a9.getA1_9()) == 0); 344 345 assert(dynamic_cast<A8*>(a9.getA1_9()) == 0); 346 347 assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9()); 348 349 assert(dynamic_cast<A3*>(a10.getA1_3()) == a10.getA3()); 350 assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3()); 351 assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3()); 352 assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3()); 353 354 assert(dynamic_cast<A4*>(a10.getA1_3()) == a10.getA4()); 355 assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4()); 356 assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4()); 357 assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4()); 358 assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4()); 359 360 assert(dynamic_cast<A5*>(a10.getA1_3()) == a10.getA5()); 361 assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5()); 362 assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5()); 363 assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5()); 364 assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5()); 365 assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5()); 366 367 assert(dynamic_cast<A6*>(a10.getA1_3()) == a10.getA6()); 368 assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6()); 369 assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6()); 370 assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6()); 371 assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6()); 372 assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6()); 373 assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6()); 374 375 assert(dynamic_cast<A7*>(a10.getA1_3()) == a10.getA7()); 376 assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7()); 377 assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7()); 378 assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7()); 379 assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7()); 380 assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7()); 381 assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7()); 382 assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7()); 383 384 assert(dynamic_cast<A8*>(a10.getA1_3()) == a10.getA8()); 385 assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8()); 386 assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8()); 387 assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8()); 388 assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8()); 389 assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8()); 390 assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8()); 391 assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8()); 392 assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8()); 393 394 assert(dynamic_cast<A9*>(a10.getA1_3()) == 0); 395 assert(dynamic_cast<A9*>(a10.getA1_4()) == 0); 396 assert(dynamic_cast<A9*>(a10.getA1_6()) == 0); 397 assert(dynamic_cast<A9*>(a10.getA2()) == 0); 398 assert(dynamic_cast<A9*>(a10.getA3()) == 0); 399 assert(dynamic_cast<A9*>(a10.getA4()) == 0); 400 assert(dynamic_cast<A9*>(a10.getA5()) == 0); 401 assert(dynamic_cast<A9*>(a10.getA6()) == 0); 402 assert(dynamic_cast<A9*>(a10.getA7()) == 0); 403 assert(dynamic_cast<A9*>(a10.getA8()) == 0); 404 405 assert(dynamic_cast<A10*>(a10.getA1_3()) == a10.getA10()); 406 assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10()); 407 assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10()); 408 assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10()); 409 assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10()); 410 assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10()); 411 assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10()); 412 assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10()); 413 assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10()); 414 assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10()); 415 416 assert(dynamic_cast<A3*>(a11.getA1_3()) == a11.getA3()); 417 assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3()); 418 assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3()); 419 assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3()); 420 assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3()); 421 422 assert(dynamic_cast<A4*>(a11.getA1_3()) == a11.getA4()); 423 assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4()); 424 assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4()); 425 assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4()); 426 assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4()); 427 assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4()); 428 429 assert(dynamic_cast<A5*>(a11.getA1_3()) == a11.getA5()); 430 assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5()); 431 assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5()); 432 assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5()); 433 assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5()); 434 assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5()); 435 assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5()); 436 437 assert(dynamic_cast<A6*>(a11.getA1_3()) == a11.getA6()); 438 assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6()); 439 assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6()); 440 assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6()); 441 assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6()); 442 assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6()); 443 assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6()); 444 assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6()); 445 446 assert(dynamic_cast<A7*>(a11.getA1_3()) == a11.getA7()); 447 assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7()); 448 assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7()); 449 assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7()); 450 assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7()); 451 assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7()); 452 assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7()); 453 assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7()); 454 assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7()); 455 456 assert(dynamic_cast<A8*>(a11.getA1_3()) == a11.getA8()); 457 assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8()); 458 assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8()); 459 assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8()); 460 assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8()); 461 assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8()); 462 assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8()); 463 assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8()); 464 assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8()); 465 assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8()); 466 467 assert(dynamic_cast<A9*>(a11.getA1_3()) == a11.getA9()); 468 assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9()); 469 assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9()); 470 assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9()); 471 assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9()); 472 assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9()); 473 assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9()); 474 assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9()); 475 assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9()); 476 assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9()); 477 assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9()); 478 479 assert(dynamic_cast<A10*>(a11.getA1_3()) == 0); 480 assert(dynamic_cast<A10*>(a11.getA1_4()) == 0); 481 assert(dynamic_cast<A10*>(a11.getA1_6()) == 0); 482 assert(dynamic_cast<A10*>(a11.getA1_9()) == 0); 483 assert(dynamic_cast<A10*>(a11.getA2()) == 0); 484 assert(dynamic_cast<A10*>(a11.getA3()) == 0); 485 assert(dynamic_cast<A10*>(a11.getA4()) == 0); 486 assert(dynamic_cast<A10*>(a11.getA5()) == 0); 487 assert(dynamic_cast<A10*>(a11.getA6()) == 0); 488 assert(dynamic_cast<A10*>(a11.getA7()) == 0); 489 assert(dynamic_cast<A10*>(a11.getA8()) == 0); 490 assert(dynamic_cast<A10*>(a11.getA9()) == 0); 491 492 assert(dynamic_cast<A11*>(a11.getA1_3()) == a11.getA11()); 493 assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11()); 494 assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11()); 495 assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11()); 496 assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11()); 497 assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11()); 498 assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11()); 499 assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11()); 500 assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11()); 501 assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11()); 502 assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11()); 503 assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11()); 504 505 assert(dynamic_cast<A3*>(a12.getA1_3()) == a12.getA3()); 506 assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3()); 507 assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3()); 508 assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3()); 509 assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3()); 510 511 assert(dynamic_cast<A4*>(a12.getA1_3()) == a12.getA4()); 512 assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4()); 513 assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4()); 514 assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4()); 515 assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4()); 516 assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4()); 517 518 assert(dynamic_cast<A5*>(a12.getA1_3()) == a12.getA5()); 519 assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5()); 520 assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5()); 521 assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5()); 522 assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5()); 523 assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5()); 524 assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5()); 525 526 assert(dynamic_cast<A6*>(a12.getA1_3()) == a12.getA6()); 527 assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6()); 528 assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6()); 529 assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6()); 530 assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6()); 531 assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6()); 532 assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6()); 533 assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6()); 534 535 assert(dynamic_cast<A7*>(a12.getA1_3()) == a12.getA7()); 536 assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7()); 537 assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7()); 538 assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7()); 539 assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7()); 540 assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7()); 541 assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7()); 542 assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7()); 543 assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7()); 544 545 assert(dynamic_cast<A8*>(a12.getA1_3()) == a12.getA8()); 546 assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8()); 547 assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8()); 548 assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8()); 549 assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8()); 550 assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8()); 551 assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8()); 552 assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8()); 553 assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8()); 554 assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8()); 555 556 assert(dynamic_cast<A9*>(a12.getA1_3()) == a12.getA9()); 557 assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9()); 558 assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9()); 559 assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9()); 560 assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9()); 561 assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9()); 562 assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9()); 563 assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9()); 564 assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9()); 565 assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9()); 566 assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9()); 567 568 assert(dynamic_cast<A10*>(a12.getA1_3()) == a12.getA10()); 569 assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10()); 570 assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10()); 571 assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10()); 572 assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10()); 573 assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10()); 574 assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10()); 575 assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10()); 576 assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10()); 577 assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10()); 578 assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10()); 579 assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10()); 580 581 assert(dynamic_cast<A11*>(a12.getA1_3()) == a12.getA11()); 582 assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11()); 583 assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11()); 584 assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11()); 585 assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11()); 586 assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11()); 587 assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11()); 588 assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11()); 589 assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11()); 590 assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11()); 591 assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11()); 592 assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11()); 593 assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11()); 594 595 assert(dynamic_cast<A12*>(a12.getA1_3()) == a12.getA12()); 596 assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12()); 597 assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12()); 598 assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12()); 599 assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12()); 600 assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12()); 601 assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12()); 602 assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12()); 603 assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12()); 604 assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12()); 605 assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12()); 606 assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12()); 607 assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12()); 608 assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12()); 609 610 assert(dynamic_cast<A3*>(a13.getA1_3()) == a13.getA3()); 611 assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3()); 612 assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3()); 613 assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3()); 614 assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3()); 615 616 assert(dynamic_cast<A4*>(a13.getA1_3()) == a13.getA4()); 617 assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4()); 618 assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4()); 619 assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4()); 620 assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4()); 621 assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4()); 622 623 assert(dynamic_cast<A5*>(a13.getA1_3()) == a13.getA5()); 624 assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5()); 625 assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5()); 626 assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5()); 627 assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5()); 628 assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5()); 629 assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5()); 630 631 assert(dynamic_cast<A6*>(a13.getA1_3()) == a13.getA6()); 632 assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6()); 633 assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6()); 634 assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6()); 635 assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6()); 636 assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6()); 637 assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6()); 638 assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6()); 639 640 assert(dynamic_cast<A7*>(a13.getA1_3()) == a13.getA7()); 641 assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7()); 642 assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7()); 643 assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7()); 644 assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7()); 645 assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7()); 646 assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7()); 647 assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7()); 648 assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7()); 649 650 assert(dynamic_cast<A8*>(a13.getA1_3()) == a13.getA8()); 651 assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8()); 652 assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8()); 653 assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8()); 654 assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8()); 655 assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8()); 656 assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8()); 657 assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8()); 658 assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8()); 659 assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8()); 660 661 assert(dynamic_cast<A9*>(a13.getA1_3()) == a13.getA9()); 662 assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9()); 663 assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9()); 664 assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9()); 665 assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9()); 666 assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9()); 667 assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9()); 668 assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9()); 669 assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9()); 670 assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9()); 671 assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9()); 672 673 assert(dynamic_cast<A10*>(a13.getA1_3()) == a13.getA10()); 674 assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10()); 675 assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10()); 676 assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10()); 677 assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10()); 678 assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10()); 679 assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10()); 680 assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10()); 681 assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10()); 682 assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10()); 683 assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10()); 684 assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10()); 685 686 assert(dynamic_cast<A11*>(a13.getA1_3()) == a13.getA11()); 687 assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11()); 688 assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11()); 689 assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11()); 690 assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11()); 691 assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11()); 692 assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11()); 693 assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11()); 694 assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11()); 695 assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11()); 696 assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11()); 697 assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11()); 698 assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11()); 699 700 assert(dynamic_cast<A12*>(a13.getA1_3()) == a13.getA12()); 701 assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12()); 702 assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12()); 703 assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12()); 704 assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12()); 705 assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12()); 706 assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12()); 707 assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12()); 708 assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12()); 709 assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12()); 710 assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12()); 711 assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12()); 712 assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12()); 713 assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12()); 714 715 assert(dynamic_cast<A13*>(a13.getA1_3()) == a13.getA13()); 716 assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13()); 717 assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13()); 718 assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13()); 719 assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13()); 720 assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13()); 721 assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13()); 722 assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13()); 723 assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13()); 724 assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13()); 725 assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13()); 726 assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13()); 727 assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13()); 728 assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13()); 729 assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13()); 730 } 731 732 } // t1 733 734 namespace t2 735 { 736 737 struct A1 738 { 739 char _[43981]; 740 virtual ~A1() {} 741 742 A1* getA1() {return this;} 743 }; 744 745 struct A2 746 { 747 char _[34981]; 748 virtual ~A2() {} 749 750 A2* getA2() {return this;} 751 }; 752 753 struct A3 754 : protected A1, 755 public virtual A2 756 { 757 char _[93481]; 758 virtual ~A3() {} 759 760 A1* getA1_3() {return A1::getA1();} 761 A2* getA2() {return A2::getA2();} 762 A3* getA3() {return this;} 763 }; 764 765 struct A4 766 : public virtual A2, 767 public A1 768 { 769 char _[13489]; 770 virtual ~A4() {} 771 772 A1* getA1_4() {return A1::getA1();} 773 A2* getA2() {return A2::getA2();} 774 A4* getA4() {return this;} 775 }; 776 777 struct A5 778 : public A3, 779 public A4 780 { 781 char _[13489]; 782 virtual ~A5() {} 783 784 A1* getA1_3() {return A3::getA1();} 785 A1* getA1_4() {return A4::getA1();} 786 A2* getA2() {return A3::getA2();} 787 A3* getA3() {return A3::getA3();} 788 A4* getA4() {return A4::getA4();} 789 A5* getA5() {return this;} 790 }; 791 792 struct A6 793 : public A1 794 { 795 char _[81349]; 796 virtual ~A6() {} 797 798 A1* getA1_6() {return A1::getA1();} 799 A6* getA6() {return this;} 800 }; 801 802 struct A7 803 : public A5, 804 public A6 805 { 806 char _[34819]; 807 virtual ~A7() {} 808 809 A1* getA1_3() {return A5::getA1_3();} 810 A1* getA1_4() {return A5::getA1_4();} 811 A1* getA1_6() {return A6::getA1_6();} 812 A2* getA2() {return A5::getA2();} 813 A3* getA3() {return A5::getA3();} 814 A4* getA4() {return A5::getA4();} 815 A5* getA5() {return A5::getA5();} 816 A6* getA6() {return A6::getA6();} 817 A7* getA7() {return this;} 818 }; 819 820 struct A8 821 : public A7 822 { 823 char _[3489]; 824 virtual ~A8() {} 825 826 A1* getA1_3() {return A7::getA1_3();} 827 A1* getA1_4() {return A7::getA1_4();} 828 A1* getA1_6() {return A7::getA1_6();} 829 A2* getA2() {return A7::getA2();} 830 A3* getA3() {return A7::getA3();} 831 A4* getA4() {return A7::getA4();} 832 A5* getA5() {return A7::getA5();} 833 A6* getA6() {return A7::getA6();} 834 A7* getA7() {return A7::getA7();} 835 A8* getA8() {return this;} 836 }; 837 838 struct A9 839 : public A1 840 { 841 char _[3481]; 842 virtual ~A9() {} 843 844 A1* getA1_9() {return A1::getA1();} 845 A9* getA9() {return this;} 846 }; 847 848 struct A10 849 : public virtual A8 850 { 851 char _[4831]; 852 virtual ~A10() {} 853 854 A1* getA1_3() {return A8::getA1_3();} 855 A1* getA1_4() {return A8::getA1_4();} 856 A1* getA1_6() {return A8::getA1_6();} 857 A2* getA2() {return A8::getA2();} 858 A3* getA3() {return A8::getA3();} 859 A4* getA4() {return A8::getA4();} 860 A5* getA5() {return A8::getA5();} 861 A6* getA6() {return A8::getA6();} 862 A7* getA7() {return A8::getA7();} 863 A8* getA8() {return A8::getA8();} 864 A10* getA10() {return this;} 865 }; 866 867 struct A11 868 : public virtual A8, 869 public A9 870 { 871 char _[6483]; 872 virtual ~A11() {} 873 874 A1* getA1_3() {return A8::getA1_3();} 875 A1* getA1_4() {return A8::getA1_4();} 876 A1* getA1_6() {return A8::getA1_6();} 877 A1* getA1_9() {return A9::getA1_9();} 878 A2* getA2() {return A8::getA2();} 879 A3* getA3() {return A8::getA3();} 880 A4* getA4() {return A8::getA4();} 881 A5* getA5() {return A8::getA5();} 882 A6* getA6() {return A8::getA6();} 883 A7* getA7() {return A8::getA7();} 884 A8* getA8() {return A8::getA8();} 885 A9* getA9() {return A9::getA9();} 886 A11* getA11() {return this;} 887 }; 888 889 struct A12 890 : public A10, 891 public A11 892 { 893 char _[2283]; 894 virtual ~A12() {} 895 896 A1* getA1_3() {return A10::getA1_3();} 897 A1* getA1_4() {return A10::getA1_4();} 898 A1* getA1_6() {return A10::getA1_6();} 899 A1* getA1_9() {return A11::getA1_9();} 900 A2* getA2() {return A10::getA2();} 901 A3* getA3() {return A10::getA3();} 902 A4* getA4() {return A10::getA4();} 903 A5* getA5() {return A10::getA5();} 904 A6* getA6() {return A10::getA6();} 905 A7* getA7() {return A10::getA7();} 906 A8* getA8() {return A10::getA8();} 907 A9* getA9() {return A11::getA9();} 908 A10* getA10() {return A10::getA10();} 909 A11* getA11() {return A11::getA11();} 910 A12* getA12() {return this;} 911 }; 912 913 struct A13 914 : public A12 915 { 916 char _[1283]; 917 virtual ~A13() {} 918 919 A1* getA1_3() {return A12::getA1_3();} 920 A1* getA1_4() {return A12::getA1_4();} 921 A1* getA1_6() {return A12::getA1_6();} 922 A1* getA1_9() {return A12::getA1_9();} 923 A2* getA2() {return A12::getA2();} 924 A3* getA3() {return A12::getA3();} 925 A4* getA4() {return A12::getA4();} 926 A5* getA5() {return A12::getA5();} 927 A6* getA6() {return A12::getA6();} 928 A7* getA7() {return A12::getA7();} 929 A8* getA8() {return A12::getA8();} 930 A9* getA9() {return A12::getA9();} 931 A10* getA10() {return A12::getA10();} 932 A11* getA11() {return A12::getA11();} 933 A12* getA12() {return A12::getA12();} 934 A13* getA13() {return this;} 935 }; 936 937 A3 a3; 938 A4 a4; 939 A5 a5; 940 A6 a6; 941 A7 a7; 942 A8 a8; 943 A9 a9; 944 A10 a10; 945 A11 a11; 946 A12 a12; 947 A13 a13; 948 949 void test() 950 { 951 assert(dynamic_cast<A3*>(a3.getA1_3()) == 0); 952 assert(dynamic_cast<A3*>(a3.getA2()) == a3.getA3()); 953 954 assert(dynamic_cast<A3*>(a4.getA1_4()) == 0); 955 assert(dynamic_cast<A3*>(a4.getA2()) == 0); 956 assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4()); 957 assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4()); 958 959 assert(dynamic_cast<A3*>(a5.getA1_3()) == 0); 960 assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3()); 961 962 assert(dynamic_cast<A4*>(a5.getA1_3()) == 0); 963 assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4()); 964 assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4()); 965 assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4()); 966 967 assert(dynamic_cast<A5*>(a5.getA1_3()) == 0); 968 assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5()); 969 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 970 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 971 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 972 assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5()); 973 974 assert(dynamic_cast<A3*>(a6.getA1_6()) == 0); 975 976 assert(dynamic_cast<A4*>(a6.getA1_6()) == 0); 977 978 assert(dynamic_cast<A5*>(a6.getA1_6()) == 0); 979 980 assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6()); 981 982 assert(dynamic_cast<A3*>(a7.getA1_3()) == 0); 983 assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3()); 984 assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3()); 985 986 assert(dynamic_cast<A4*>(a7.getA1_3()) == 0); 987 assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4()); 988 assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4()); 989 assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4()); 990 991 assert(dynamic_cast<A5*>(a7.getA1_3()) == 0); 992 assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5()); 993 assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5()); 994 assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5()); 995 assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5()); 996 997 assert(dynamic_cast<A6*>(a7.getA1_3()) == 0); 998 assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6()); 999 assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6()); 1000 assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6()); 1001 assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6()); 1002 assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6()); 1003 assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6()); 1004 1005 assert(dynamic_cast<A7*>(a7.getA1_3()) == 0); 1006 assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7()); 1007 assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7()); 1008 assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7()); 1009 assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7()); 1010 assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7()); 1011 assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7()); 1012 assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7()); 1013 1014 assert(dynamic_cast<A3*>(a8.getA1_3()) == 0); 1015 assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3()); 1016 assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3()); 1017 1018 assert(dynamic_cast<A4*>(a8.getA1_3()) == 0); 1019 assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4()); 1020 assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4()); 1021 assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4()); 1022 1023 assert(dynamic_cast<A5*>(a8.getA1_3()) == 0); 1024 assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5()); 1025 assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5()); 1026 assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5()); 1027 assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5()); 1028 1029 assert(dynamic_cast<A6*>(a8.getA1_3()) == 0); 1030 assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6()); 1031 assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6()); 1032 assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6()); 1033 assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6()); 1034 assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6()); 1035 assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6()); 1036 1037 assert(dynamic_cast<A7*>(a8.getA1_3()) == 0); 1038 assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7()); 1039 assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7()); 1040 assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7()); 1041 assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7()); 1042 assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7()); 1043 assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7()); 1044 assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7()); 1045 1046 assert(dynamic_cast<A8*>(a8.getA1_3()) == 0); 1047 assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8()); 1048 assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8()); 1049 assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8()); 1050 assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8()); 1051 assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8()); 1052 assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8()); 1053 assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8()); 1054 assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8()); 1055 1056 assert(dynamic_cast<A3*>(a9.getA1_9()) == 0); 1057 1058 assert(dynamic_cast<A4*>(a9.getA1_9()) == 0); 1059 1060 assert(dynamic_cast<A5*>(a9.getA1_9()) == 0); 1061 1062 assert(dynamic_cast<A6*>(a9.getA1_9()) == 0); 1063 1064 assert(dynamic_cast<A7*>(a9.getA1_9()) == 0); 1065 1066 assert(dynamic_cast<A8*>(a9.getA1_9()) == 0); 1067 1068 assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9()); 1069 1070 assert(dynamic_cast<A3*>(a10.getA1_3()) == 0); 1071 assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3()); 1072 assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3()); 1073 assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3()); 1074 1075 assert(dynamic_cast<A4*>(a10.getA1_3()) == 0); 1076 assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4()); 1077 assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4()); 1078 assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4()); 1079 assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4()); 1080 1081 assert(dynamic_cast<A5*>(a10.getA1_3()) == 0); 1082 assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5()); 1083 assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5()); 1084 assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5()); 1085 assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5()); 1086 assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5()); 1087 1088 assert(dynamic_cast<A6*>(a10.getA1_3()) == 0); 1089 assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6()); 1090 assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6()); 1091 assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6()); 1092 assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6()); 1093 assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6()); 1094 assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6()); 1095 1096 assert(dynamic_cast<A7*>(a10.getA1_3()) == 0); 1097 assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7()); 1098 assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7()); 1099 assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7()); 1100 assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7()); 1101 assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7()); 1102 assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7()); 1103 assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7()); 1104 1105 assert(dynamic_cast<A8*>(a10.getA1_3()) == 0); 1106 assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8()); 1107 assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8()); 1108 assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8()); 1109 assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8()); 1110 assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8()); 1111 assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8()); 1112 assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8()); 1113 assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8()); 1114 1115 assert(dynamic_cast<A9*>(a10.getA1_3()) == 0); 1116 assert(dynamic_cast<A9*>(a10.getA1_4()) == 0); 1117 assert(dynamic_cast<A9*>(a10.getA1_6()) == 0); 1118 assert(dynamic_cast<A9*>(a10.getA2()) == 0); 1119 assert(dynamic_cast<A9*>(a10.getA3()) == 0); 1120 assert(dynamic_cast<A9*>(a10.getA4()) == 0); 1121 assert(dynamic_cast<A9*>(a10.getA5()) == 0); 1122 assert(dynamic_cast<A9*>(a10.getA6()) == 0); 1123 assert(dynamic_cast<A9*>(a10.getA7()) == 0); 1124 assert(dynamic_cast<A9*>(a10.getA8()) == 0); 1125 1126 assert(dynamic_cast<A10*>(a10.getA1_3()) == 0); 1127 assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10()); 1128 assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10()); 1129 assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10()); 1130 assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10()); 1131 assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10()); 1132 assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10()); 1133 assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10()); 1134 assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10()); 1135 assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10()); 1136 1137 assert(dynamic_cast<A3*>(a11.getA1_3()) == 0); 1138 assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3()); 1139 assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3()); 1140 assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3()); 1141 assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3()); 1142 1143 assert(dynamic_cast<A4*>(a11.getA1_3()) == 0); 1144 assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4()); 1145 assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4()); 1146 assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4()); 1147 assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4()); 1148 assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4()); 1149 1150 assert(dynamic_cast<A5*>(a11.getA1_3()) == 0); 1151 assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5()); 1152 assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5()); 1153 assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5()); 1154 assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5()); 1155 assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5()); 1156 assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5()); 1157 1158 assert(dynamic_cast<A6*>(a11.getA1_3()) == 0); 1159 assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6()); 1160 assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6()); 1161 assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6()); 1162 assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6()); 1163 assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6()); 1164 assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6()); 1165 assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6()); 1166 1167 assert(dynamic_cast<A7*>(a11.getA1_3()) == 0); 1168 assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7()); 1169 assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7()); 1170 assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7()); 1171 assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7()); 1172 assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7()); 1173 assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7()); 1174 assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7()); 1175 assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7()); 1176 1177 assert(dynamic_cast<A8*>(a11.getA1_3()) == 0); 1178 assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8()); 1179 assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8()); 1180 assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8()); 1181 assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8()); 1182 assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8()); 1183 assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8()); 1184 assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8()); 1185 assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8()); 1186 assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8()); 1187 1188 assert(dynamic_cast<A9*>(a11.getA1_3()) == 0); 1189 assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9()); 1190 assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9()); 1191 assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9()); 1192 assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9()); 1193 assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9()); 1194 assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9()); 1195 assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9()); 1196 assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9()); 1197 assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9()); 1198 assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9()); 1199 1200 assert(dynamic_cast<A10*>(a11.getA1_3()) == 0); 1201 assert(dynamic_cast<A10*>(a11.getA1_4()) == 0); 1202 assert(dynamic_cast<A10*>(a11.getA1_6()) == 0); 1203 assert(dynamic_cast<A10*>(a11.getA1_9()) == 0); 1204 assert(dynamic_cast<A10*>(a11.getA2()) == 0); 1205 assert(dynamic_cast<A10*>(a11.getA3()) == 0); 1206 assert(dynamic_cast<A10*>(a11.getA4()) == 0); 1207 assert(dynamic_cast<A10*>(a11.getA5()) == 0); 1208 assert(dynamic_cast<A10*>(a11.getA6()) == 0); 1209 assert(dynamic_cast<A10*>(a11.getA7()) == 0); 1210 assert(dynamic_cast<A10*>(a11.getA8()) == 0); 1211 assert(dynamic_cast<A10*>(a11.getA9()) == 0); 1212 1213 assert(dynamic_cast<A11*>(a11.getA1_3()) == 0); 1214 assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11()); 1215 assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11()); 1216 assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11()); 1217 assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11()); 1218 assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11()); 1219 assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11()); 1220 assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11()); 1221 assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11()); 1222 assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11()); 1223 assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11()); 1224 assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11()); 1225 1226 assert(dynamic_cast<A3*>(a12.getA1_3()) == 0); 1227 assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3()); 1228 assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3()); 1229 assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3()); 1230 assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3()); 1231 1232 assert(dynamic_cast<A4*>(a12.getA1_3()) == 0); 1233 assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4()); 1234 assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4()); 1235 assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4()); 1236 assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4()); 1237 assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4()); 1238 1239 assert(dynamic_cast<A5*>(a12.getA1_3()) == 0); 1240 assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5()); 1241 assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5()); 1242 assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5()); 1243 assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5()); 1244 assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5()); 1245 assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5()); 1246 1247 assert(dynamic_cast<A6*>(a12.getA1_3()) == 0); 1248 assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6()); 1249 assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6()); 1250 assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6()); 1251 assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6()); 1252 assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6()); 1253 assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6()); 1254 assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6()); 1255 1256 assert(dynamic_cast<A7*>(a12.getA1_3()) == 0); 1257 assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7()); 1258 assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7()); 1259 assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7()); 1260 assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7()); 1261 assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7()); 1262 assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7()); 1263 assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7()); 1264 assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7()); 1265 1266 assert(dynamic_cast<A8*>(a12.getA1_3()) == 0); 1267 assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8()); 1268 assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8()); 1269 assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8()); 1270 assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8()); 1271 assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8()); 1272 assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8()); 1273 assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8()); 1274 assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8()); 1275 assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8()); 1276 1277 assert(dynamic_cast<A9*>(a12.getA1_3()) == 0); 1278 assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9()); 1279 assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9()); 1280 assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9()); 1281 assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9()); 1282 assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9()); 1283 assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9()); 1284 assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9()); 1285 assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9()); 1286 assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9()); 1287 assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9()); 1288 1289 assert(dynamic_cast<A10*>(a12.getA1_3()) == 0); 1290 assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10()); 1291 assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10()); 1292 assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10()); 1293 assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10()); 1294 assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10()); 1295 assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10()); 1296 assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10()); 1297 assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10()); 1298 assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10()); 1299 assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10()); 1300 assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10()); 1301 1302 assert(dynamic_cast<A11*>(a12.getA1_3()) == 0); 1303 assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11()); 1304 assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11()); 1305 assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11()); 1306 assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11()); 1307 assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11()); 1308 assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11()); 1309 assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11()); 1310 assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11()); 1311 assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11()); 1312 assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11()); 1313 assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11()); 1314 assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11()); 1315 1316 assert(dynamic_cast<A12*>(a12.getA1_3()) == 0); 1317 assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12()); 1318 assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12()); 1319 assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12()); 1320 assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12()); 1321 assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12()); 1322 assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12()); 1323 assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12()); 1324 assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12()); 1325 assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12()); 1326 assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12()); 1327 assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12()); 1328 assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12()); 1329 assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12()); 1330 1331 assert(dynamic_cast<A3*>(a13.getA1_3()) == 0); 1332 assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3()); 1333 assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3()); 1334 assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3()); 1335 assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3()); 1336 1337 assert(dynamic_cast<A4*>(a13.getA1_3()) == 0); 1338 assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4()); 1339 assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4()); 1340 assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4()); 1341 assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4()); 1342 assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4()); 1343 1344 assert(dynamic_cast<A5*>(a13.getA1_3()) == 0); 1345 assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5()); 1346 assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5()); 1347 assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5()); 1348 assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5()); 1349 assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5()); 1350 assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5()); 1351 1352 assert(dynamic_cast<A6*>(a13.getA1_3()) == 0); 1353 assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6()); 1354 assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6()); 1355 assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6()); 1356 assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6()); 1357 assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6()); 1358 assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6()); 1359 assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6()); 1360 1361 assert(dynamic_cast<A7*>(a13.getA1_3()) == 0); 1362 assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7()); 1363 assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7()); 1364 assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7()); 1365 assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7()); 1366 assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7()); 1367 assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7()); 1368 assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7()); 1369 assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7()); 1370 1371 assert(dynamic_cast<A8*>(a13.getA1_3()) == 0); 1372 assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8()); 1373 assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8()); 1374 assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8()); 1375 assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8()); 1376 assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8()); 1377 assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8()); 1378 assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8()); 1379 assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8()); 1380 assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8()); 1381 1382 assert(dynamic_cast<A9*>(a13.getA1_3()) == 0); 1383 assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9()); 1384 assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9()); 1385 assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9()); 1386 assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9()); 1387 assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9()); 1388 assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9()); 1389 assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9()); 1390 assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9()); 1391 assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9()); 1392 assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9()); 1393 1394 assert(dynamic_cast<A10*>(a13.getA1_3()) == 0); 1395 assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10()); 1396 assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10()); 1397 assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10()); 1398 assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10()); 1399 assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10()); 1400 assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10()); 1401 assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10()); 1402 assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10()); 1403 assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10()); 1404 assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10()); 1405 assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10()); 1406 1407 assert(dynamic_cast<A11*>(a13.getA1_3()) == 0); 1408 assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11()); 1409 assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11()); 1410 assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11()); 1411 assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11()); 1412 assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11()); 1413 assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11()); 1414 assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11()); 1415 assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11()); 1416 assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11()); 1417 assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11()); 1418 assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11()); 1419 assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11()); 1420 1421 assert(dynamic_cast<A12*>(a13.getA1_3()) == 0); 1422 assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12()); 1423 assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12()); 1424 assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12()); 1425 assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12()); 1426 assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12()); 1427 assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12()); 1428 assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12()); 1429 assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12()); 1430 assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12()); 1431 assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12()); 1432 assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12()); 1433 assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12()); 1434 assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12()); 1435 1436 assert(dynamic_cast<A13*>(a13.getA1_3()) == 0); 1437 assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13()); 1438 assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13()); 1439 assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13()); 1440 assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13()); 1441 assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13()); 1442 assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13()); 1443 assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13()); 1444 assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13()); 1445 assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13()); 1446 assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13()); 1447 assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13()); 1448 assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13()); 1449 assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13()); 1450 assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13()); 1451 } 1452 1453 } // t2 1454 1455 namespace t3 1456 { 1457 1458 struct A1 1459 { 1460 char _[43981]; 1461 virtual ~A1() {} 1462 1463 A1* getA1() {return this;} 1464 }; 1465 1466 struct A2 1467 { 1468 char _[34981]; 1469 virtual ~A2() {} 1470 1471 A2* getA2() {return this;} 1472 }; 1473 1474 struct A3 1475 : public A1, 1476 protected virtual A2 1477 { 1478 char _[93481]; 1479 virtual ~A3() {} 1480 1481 A1* getA1_3() {return A1::getA1();} 1482 A2* getA2() {return A2::getA2();} 1483 A3* getA3() {return this;} 1484 }; 1485 1486 struct A4 1487 : public virtual A2, 1488 public A1 1489 { 1490 char _[13489]; 1491 virtual ~A4() {} 1492 1493 A1* getA1_4() {return A1::getA1();} 1494 A2* getA2() {return A2::getA2();} 1495 A4* getA4() {return this;} 1496 }; 1497 1498 struct A5 1499 : public A3, 1500 public A4 1501 { 1502 char _[13489]; 1503 virtual ~A5() {} 1504 1505 A1* getA1_3() {return A3::getA1();} 1506 A1* getA1_4() {return A4::getA1();} 1507 A2* getA2() {return A3::getA2();} 1508 A3* getA3() {return A3::getA3();} 1509 A4* getA4() {return A4::getA4();} 1510 A5* getA5() {return this;} 1511 }; 1512 1513 struct A6 1514 : public A1 1515 { 1516 char _[81349]; 1517 virtual ~A6() {} 1518 1519 A1* getA1_6() {return A1::getA1();} 1520 A6* getA6() {return this;} 1521 }; 1522 1523 struct A7 1524 : public A5, 1525 public A6 1526 { 1527 char _[34819]; 1528 virtual ~A7() {} 1529 1530 A1* getA1_3() {return A5::getA1_3();} 1531 A1* getA1_4() {return A5::getA1_4();} 1532 A1* getA1_6() {return A6::getA1_6();} 1533 A2* getA2() {return A5::getA2();} 1534 A3* getA3() {return A5::getA3();} 1535 A4* getA4() {return A5::getA4();} 1536 A5* getA5() {return A5::getA5();} 1537 A6* getA6() {return A6::getA6();} 1538 A7* getA7() {return this;} 1539 }; 1540 1541 struct A8 1542 : public A7 1543 { 1544 char _[3489]; 1545 virtual ~A8() {} 1546 1547 A1* getA1_3() {return A7::getA1_3();} 1548 A1* getA1_4() {return A7::getA1_4();} 1549 A1* getA1_6() {return A7::getA1_6();} 1550 A2* getA2() {return A7::getA2();} 1551 A3* getA3() {return A7::getA3();} 1552 A4* getA4() {return A7::getA4();} 1553 A5* getA5() {return A7::getA5();} 1554 A6* getA6() {return A7::getA6();} 1555 A7* getA7() {return A7::getA7();} 1556 A8* getA8() {return this;} 1557 }; 1558 1559 struct A9 1560 : public A1 1561 { 1562 char _[3481]; 1563 virtual ~A9() {} 1564 1565 A1* getA1_9() {return A1::getA1();} 1566 A9* getA9() {return this;} 1567 }; 1568 1569 struct A10 1570 : public virtual A8 1571 { 1572 char _[4831]; 1573 virtual ~A10() {} 1574 1575 A1* getA1_3() {return A8::getA1_3();} 1576 A1* getA1_4() {return A8::getA1_4();} 1577 A1* getA1_6() {return A8::getA1_6();} 1578 A2* getA2() {return A8::getA2();} 1579 A3* getA3() {return A8::getA3();} 1580 A4* getA4() {return A8::getA4();} 1581 A5* getA5() {return A8::getA5();} 1582 A6* getA6() {return A8::getA6();} 1583 A7* getA7() {return A8::getA7();} 1584 A8* getA8() {return A8::getA8();} 1585 A10* getA10() {return this;} 1586 }; 1587 1588 struct A11 1589 : public virtual A8, 1590 public A9 1591 { 1592 char _[6483]; 1593 virtual ~A11() {} 1594 1595 A1* getA1_3() {return A8::getA1_3();} 1596 A1* getA1_4() {return A8::getA1_4();} 1597 A1* getA1_6() {return A8::getA1_6();} 1598 A1* getA1_9() {return A9::getA1_9();} 1599 A2* getA2() {return A8::getA2();} 1600 A3* getA3() {return A8::getA3();} 1601 A4* getA4() {return A8::getA4();} 1602 A5* getA5() {return A8::getA5();} 1603 A6* getA6() {return A8::getA6();} 1604 A7* getA7() {return A8::getA7();} 1605 A8* getA8() {return A8::getA8();} 1606 A9* getA9() {return A9::getA9();} 1607 A11* getA11() {return this;} 1608 }; 1609 1610 struct A12 1611 : public A10, 1612 public A11 1613 { 1614 char _[2283]; 1615 virtual ~A12() {} 1616 1617 A1* getA1_3() {return A10::getA1_3();} 1618 A1* getA1_4() {return A10::getA1_4();} 1619 A1* getA1_6() {return A10::getA1_6();} 1620 A1* getA1_9() {return A11::getA1_9();} 1621 A2* getA2() {return A10::getA2();} 1622 A3* getA3() {return A10::getA3();} 1623 A4* getA4() {return A10::getA4();} 1624 A5* getA5() {return A10::getA5();} 1625 A6* getA6() {return A10::getA6();} 1626 A7* getA7() {return A10::getA7();} 1627 A8* getA8() {return A10::getA8();} 1628 A9* getA9() {return A11::getA9();} 1629 A10* getA10() {return A10::getA10();} 1630 A11* getA11() {return A11::getA11();} 1631 A12* getA12() {return this;} 1632 }; 1633 1634 struct A13 1635 : public A12 1636 { 1637 char _[1283]; 1638 virtual ~A13() {} 1639 1640 A1* getA1_3() {return A12::getA1_3();} 1641 A1* getA1_4() {return A12::getA1_4();} 1642 A1* getA1_6() {return A12::getA1_6();} 1643 A1* getA1_9() {return A12::getA1_9();} 1644 A2* getA2() {return A12::getA2();} 1645 A3* getA3() {return A12::getA3();} 1646 A4* getA4() {return A12::getA4();} 1647 A5* getA5() {return A12::getA5();} 1648 A6* getA6() {return A12::getA6();} 1649 A7* getA7() {return A12::getA7();} 1650 A8* getA8() {return A12::getA8();} 1651 A9* getA9() {return A12::getA9();} 1652 A10* getA10() {return A12::getA10();} 1653 A11* getA11() {return A12::getA11();} 1654 A12* getA12() {return A12::getA12();} 1655 A13* getA13() {return this;} 1656 }; 1657 1658 A3 a3; 1659 A4 a4; 1660 A5 a5; 1661 A6 a6; 1662 A7 a7; 1663 A8 a8; 1664 A9 a9; 1665 A10 a10; 1666 A11 a11; 1667 A12 a12; 1668 A13 a13; 1669 1670 void test() 1671 { 1672 assert(dynamic_cast<A3*>(a3.getA1_3()) == a3.getA3()); 1673 assert(dynamic_cast<A3*>(a3.getA2()) == 0); 1674 1675 assert(dynamic_cast<A3*>(a4.getA1_4()) == 0); 1676 assert(dynamic_cast<A3*>(a4.getA2()) == 0); 1677 assert(dynamic_cast<A4*>(a4.getA1_4()) == a4.getA4()); 1678 assert(dynamic_cast<A4*>(a4.getA2()) == a4.getA4()); 1679 1680 assert(dynamic_cast<A3*>(a5.getA1_3()) == a5.getA3()); 1681 assert(dynamic_cast<A3*>(a5.getA2()) == a5.getA3()); 1682 1683 assert(dynamic_cast<A4*>(a5.getA1_3()) == a5.getA4()); 1684 assert(dynamic_cast<A4*>(a5.getA1_4()) == a5.getA4()); 1685 assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4()); 1686 assert(dynamic_cast<A4*>(a5.getA3()) == a5.getA4()); 1687 1688 assert(dynamic_cast<A5*>(a5.getA1_3()) == a5.getA5()); 1689 assert(dynamic_cast<A5*>(a5.getA1_4()) == a5.getA5()); 1690 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 1691 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 1692 assert(dynamic_cast<A5*>(a5.getA3()) == a5.getA5()); 1693 assert(dynamic_cast<A5*>(a5.getA4()) == a5.getA5()); 1694 1695 assert(dynamic_cast<A3*>(a6.getA1_6()) == 0); 1696 1697 assert(dynamic_cast<A4*>(a6.getA1_6()) == 0); 1698 1699 assert(dynamic_cast<A5*>(a6.getA1_6()) == 0); 1700 1701 assert(dynamic_cast<A6*>(a6.getA1_6()) == a6.getA6()); 1702 1703 assert(dynamic_cast<A3*>(a7.getA1_3()) == a7.getA3()); 1704 assert(dynamic_cast<A3*>(a7.getA1_4()) == a7.getA3()); 1705 assert(dynamic_cast<A3*>(a7.getA2()) == a7.getA3()); 1706 1707 assert(dynamic_cast<A4*>(a7.getA1_3()) == a7.getA4()); 1708 assert(dynamic_cast<A4*>(a7.getA1_4()) == a7.getA4()); 1709 assert(dynamic_cast<A4*>(a7.getA2()) == a7.getA4()); 1710 assert(dynamic_cast<A4*>(a7.getA3()) == a7.getA4()); 1711 1712 assert(dynamic_cast<A5*>(a7.getA1_3()) == a7.getA5()); 1713 assert(dynamic_cast<A5*>(a7.getA1_4()) == a7.getA5()); 1714 assert(dynamic_cast<A5*>(a7.getA2()) == a7.getA5()); 1715 assert(dynamic_cast<A5*>(a7.getA3()) == a7.getA5()); 1716 assert(dynamic_cast<A5*>(a7.getA4()) == a7.getA5()); 1717 1718 assert(dynamic_cast<A6*>(a7.getA1_3()) == a7.getA6()); 1719 assert(dynamic_cast<A6*>(a7.getA1_4()) == a7.getA6()); 1720 assert(dynamic_cast<A6*>(a7.getA1_6()) == a7.getA6()); 1721 assert(dynamic_cast<A6*>(a7.getA2()) == a7.getA6()); 1722 assert(dynamic_cast<A6*>(a7.getA3()) == a7.getA6()); 1723 assert(dynamic_cast<A6*>(a7.getA4()) == a7.getA6()); 1724 assert(dynamic_cast<A6*>(a7.getA5()) == a7.getA6()); 1725 1726 assert(dynamic_cast<A7*>(a7.getA1_3()) == a7.getA7()); 1727 assert(dynamic_cast<A7*>(a7.getA1_4()) == a7.getA7()); 1728 assert(dynamic_cast<A7*>(a7.getA1_6()) == a7.getA7()); 1729 assert(dynamic_cast<A7*>(a7.getA2()) == a7.getA7()); 1730 assert(dynamic_cast<A7*>(a7.getA3()) == a7.getA7()); 1731 assert(dynamic_cast<A7*>(a7.getA4()) == a7.getA7()); 1732 assert(dynamic_cast<A7*>(a7.getA5()) == a7.getA7()); 1733 assert(dynamic_cast<A7*>(a7.getA6()) == a7.getA7()); 1734 1735 assert(dynamic_cast<A3*>(a8.getA1_3()) == a8.getA3()); 1736 assert(dynamic_cast<A3*>(a8.getA1_4()) == a8.getA3()); 1737 assert(dynamic_cast<A3*>(a8.getA2()) == a8.getA3()); 1738 1739 assert(dynamic_cast<A4*>(a8.getA1_3()) == a8.getA4()); 1740 assert(dynamic_cast<A4*>(a8.getA1_4()) == a8.getA4()); 1741 assert(dynamic_cast<A4*>(a8.getA2()) == a8.getA4()); 1742 assert(dynamic_cast<A4*>(a8.getA3()) == a8.getA4()); 1743 1744 assert(dynamic_cast<A5*>(a8.getA1_3()) == a8.getA5()); 1745 assert(dynamic_cast<A5*>(a8.getA1_4()) == a8.getA5()); 1746 assert(dynamic_cast<A5*>(a8.getA2()) == a8.getA5()); 1747 assert(dynamic_cast<A5*>(a8.getA3()) == a8.getA5()); 1748 assert(dynamic_cast<A5*>(a8.getA4()) == a8.getA5()); 1749 1750 assert(dynamic_cast<A6*>(a8.getA1_3()) == a8.getA6()); 1751 assert(dynamic_cast<A6*>(a8.getA1_4()) == a8.getA6()); 1752 assert(dynamic_cast<A6*>(a8.getA1_6()) == a8.getA6()); 1753 assert(dynamic_cast<A6*>(a8.getA2()) == a8.getA6()); 1754 assert(dynamic_cast<A6*>(a8.getA3()) == a8.getA6()); 1755 assert(dynamic_cast<A6*>(a8.getA4()) == a8.getA6()); 1756 assert(dynamic_cast<A6*>(a8.getA5()) == a8.getA6()); 1757 1758 assert(dynamic_cast<A7*>(a8.getA1_3()) == a8.getA7()); 1759 assert(dynamic_cast<A7*>(a8.getA1_4()) == a8.getA7()); 1760 assert(dynamic_cast<A7*>(a8.getA1_6()) == a8.getA7()); 1761 assert(dynamic_cast<A7*>(a8.getA2()) == a8.getA7()); 1762 assert(dynamic_cast<A7*>(a8.getA3()) == a8.getA7()); 1763 assert(dynamic_cast<A7*>(a8.getA4()) == a8.getA7()); 1764 assert(dynamic_cast<A7*>(a8.getA5()) == a8.getA7()); 1765 assert(dynamic_cast<A7*>(a8.getA6()) == a8.getA7()); 1766 1767 assert(dynamic_cast<A8*>(a8.getA1_3()) == a8.getA8()); 1768 assert(dynamic_cast<A8*>(a8.getA1_4()) == a8.getA8()); 1769 assert(dynamic_cast<A8*>(a8.getA1_6()) == a8.getA8()); 1770 assert(dynamic_cast<A8*>(a8.getA2()) == a8.getA8()); 1771 assert(dynamic_cast<A8*>(a8.getA3()) == a8.getA8()); 1772 assert(dynamic_cast<A8*>(a8.getA4()) == a8.getA8()); 1773 assert(dynamic_cast<A8*>(a8.getA5()) == a8.getA8()); 1774 assert(dynamic_cast<A8*>(a8.getA6()) == a8.getA8()); 1775 assert(dynamic_cast<A8*>(a8.getA7()) == a8.getA8()); 1776 1777 assert(dynamic_cast<A3*>(a9.getA1_9()) == 0); 1778 1779 assert(dynamic_cast<A4*>(a9.getA1_9()) == 0); 1780 1781 assert(dynamic_cast<A5*>(a9.getA1_9()) == 0); 1782 1783 assert(dynamic_cast<A6*>(a9.getA1_9()) == 0); 1784 1785 assert(dynamic_cast<A7*>(a9.getA1_9()) == 0); 1786 1787 assert(dynamic_cast<A8*>(a9.getA1_9()) == 0); 1788 1789 assert(dynamic_cast<A9*>(a9.getA1_9()) == a9.getA9()); 1790 1791 assert(dynamic_cast<A3*>(a10.getA1_3()) == a10.getA3()); 1792 assert(dynamic_cast<A3*>(a10.getA1_4()) == a10.getA3()); 1793 assert(dynamic_cast<A3*>(a10.getA1_6()) == a10.getA3()); 1794 assert(dynamic_cast<A3*>(a10.getA2()) == a10.getA3()); 1795 1796 assert(dynamic_cast<A4*>(a10.getA1_3()) == a10.getA4()); 1797 assert(dynamic_cast<A4*>(a10.getA1_4()) == a10.getA4()); 1798 assert(dynamic_cast<A4*>(a10.getA1_6()) == a10.getA4()); 1799 assert(dynamic_cast<A4*>(a10.getA2()) == a10.getA4()); 1800 assert(dynamic_cast<A4*>(a10.getA3()) == a10.getA4()); 1801 1802 assert(dynamic_cast<A5*>(a10.getA1_3()) == a10.getA5()); 1803 assert(dynamic_cast<A5*>(a10.getA1_4()) == a10.getA5()); 1804 assert(dynamic_cast<A5*>(a10.getA1_6()) == a10.getA5()); 1805 assert(dynamic_cast<A5*>(a10.getA2()) == a10.getA5()); 1806 assert(dynamic_cast<A5*>(a10.getA3()) == a10.getA5()); 1807 assert(dynamic_cast<A5*>(a10.getA4()) == a10.getA5()); 1808 1809 assert(dynamic_cast<A6*>(a10.getA1_3()) == a10.getA6()); 1810 assert(dynamic_cast<A6*>(a10.getA1_4()) == a10.getA6()); 1811 assert(dynamic_cast<A6*>(a10.getA1_6()) == a10.getA6()); 1812 assert(dynamic_cast<A6*>(a10.getA2()) == a10.getA6()); 1813 assert(dynamic_cast<A6*>(a10.getA3()) == a10.getA6()); 1814 assert(dynamic_cast<A6*>(a10.getA4()) == a10.getA6()); 1815 assert(dynamic_cast<A6*>(a10.getA5()) == a10.getA6()); 1816 1817 assert(dynamic_cast<A7*>(a10.getA1_3()) == a10.getA7()); 1818 assert(dynamic_cast<A7*>(a10.getA1_4()) == a10.getA7()); 1819 assert(dynamic_cast<A7*>(a10.getA1_6()) == a10.getA7()); 1820 assert(dynamic_cast<A7*>(a10.getA2()) == a10.getA7()); 1821 assert(dynamic_cast<A7*>(a10.getA3()) == a10.getA7()); 1822 assert(dynamic_cast<A7*>(a10.getA4()) == a10.getA7()); 1823 assert(dynamic_cast<A7*>(a10.getA5()) == a10.getA7()); 1824 assert(dynamic_cast<A7*>(a10.getA6()) == a10.getA7()); 1825 1826 assert(dynamic_cast<A8*>(a10.getA1_3()) == a10.getA8()); 1827 assert(dynamic_cast<A8*>(a10.getA1_4()) == a10.getA8()); 1828 assert(dynamic_cast<A8*>(a10.getA1_6()) == a10.getA8()); 1829 assert(dynamic_cast<A8*>(a10.getA2()) == a10.getA8()); 1830 assert(dynamic_cast<A8*>(a10.getA3()) == a10.getA8()); 1831 assert(dynamic_cast<A8*>(a10.getA4()) == a10.getA8()); 1832 assert(dynamic_cast<A8*>(a10.getA5()) == a10.getA8()); 1833 assert(dynamic_cast<A8*>(a10.getA6()) == a10.getA8()); 1834 assert(dynamic_cast<A8*>(a10.getA7()) == a10.getA8()); 1835 1836 assert(dynamic_cast<A9*>(a10.getA1_3()) == 0); 1837 assert(dynamic_cast<A9*>(a10.getA1_4()) == 0); 1838 assert(dynamic_cast<A9*>(a10.getA1_6()) == 0); 1839 assert(dynamic_cast<A9*>(a10.getA2()) == 0); 1840 assert(dynamic_cast<A9*>(a10.getA3()) == 0); 1841 assert(dynamic_cast<A9*>(a10.getA4()) == 0); 1842 assert(dynamic_cast<A9*>(a10.getA5()) == 0); 1843 assert(dynamic_cast<A9*>(a10.getA6()) == 0); 1844 assert(dynamic_cast<A9*>(a10.getA7()) == 0); 1845 assert(dynamic_cast<A9*>(a10.getA8()) == 0); 1846 1847 assert(dynamic_cast<A10*>(a10.getA1_3()) == a10.getA10()); 1848 assert(dynamic_cast<A10*>(a10.getA1_4()) == a10.getA10()); 1849 assert(dynamic_cast<A10*>(a10.getA1_6()) == a10.getA10()); 1850 assert(dynamic_cast<A10*>(a10.getA2()) == a10.getA10()); 1851 assert(dynamic_cast<A10*>(a10.getA3()) == a10.getA10()); 1852 assert(dynamic_cast<A10*>(a10.getA4()) == a10.getA10()); 1853 assert(dynamic_cast<A10*>(a10.getA5()) == a10.getA10()); 1854 assert(dynamic_cast<A10*>(a10.getA6()) == a10.getA10()); 1855 assert(dynamic_cast<A10*>(a10.getA7()) == a10.getA10()); 1856 assert(dynamic_cast<A10*>(a10.getA8()) == a10.getA10()); 1857 1858 assert(dynamic_cast<A3*>(a11.getA1_3()) == a11.getA3()); 1859 assert(dynamic_cast<A3*>(a11.getA1_4()) == a11.getA3()); 1860 assert(dynamic_cast<A3*>(a11.getA1_6()) == a11.getA3()); 1861 assert(dynamic_cast<A3*>(a11.getA1_9()) == a11.getA3()); 1862 assert(dynamic_cast<A3*>(a11.getA2()) == a11.getA3()); 1863 1864 assert(dynamic_cast<A4*>(a11.getA1_3()) == a11.getA4()); 1865 assert(dynamic_cast<A4*>(a11.getA1_4()) == a11.getA4()); 1866 assert(dynamic_cast<A4*>(a11.getA1_6()) == a11.getA4()); 1867 assert(dynamic_cast<A4*>(a11.getA1_9()) == a11.getA4()); 1868 assert(dynamic_cast<A4*>(a11.getA2()) == a11.getA4()); 1869 assert(dynamic_cast<A4*>(a11.getA3()) == a11.getA4()); 1870 1871 assert(dynamic_cast<A5*>(a11.getA1_3()) == a11.getA5()); 1872 assert(dynamic_cast<A5*>(a11.getA1_4()) == a11.getA5()); 1873 assert(dynamic_cast<A5*>(a11.getA1_6()) == a11.getA5()); 1874 assert(dynamic_cast<A5*>(a11.getA1_9()) == a11.getA5()); 1875 assert(dynamic_cast<A5*>(a11.getA2()) == a11.getA5()); 1876 assert(dynamic_cast<A5*>(a11.getA3()) == a11.getA5()); 1877 assert(dynamic_cast<A5*>(a11.getA4()) == a11.getA5()); 1878 1879 assert(dynamic_cast<A6*>(a11.getA1_3()) == a11.getA6()); 1880 assert(dynamic_cast<A6*>(a11.getA1_4()) == a11.getA6()); 1881 assert(dynamic_cast<A6*>(a11.getA1_6()) == a11.getA6()); 1882 assert(dynamic_cast<A6*>(a11.getA1_9()) == a11.getA6()); 1883 assert(dynamic_cast<A6*>(a11.getA2()) == a11.getA6()); 1884 assert(dynamic_cast<A6*>(a11.getA3()) == a11.getA6()); 1885 assert(dynamic_cast<A6*>(a11.getA4()) == a11.getA6()); 1886 assert(dynamic_cast<A6*>(a11.getA5()) == a11.getA6()); 1887 1888 assert(dynamic_cast<A7*>(a11.getA1_3()) == a11.getA7()); 1889 assert(dynamic_cast<A7*>(a11.getA1_4()) == a11.getA7()); 1890 assert(dynamic_cast<A7*>(a11.getA1_6()) == a11.getA7()); 1891 assert(dynamic_cast<A7*>(a11.getA1_9()) == a11.getA7()); 1892 assert(dynamic_cast<A7*>(a11.getA2()) == a11.getA7()); 1893 assert(dynamic_cast<A7*>(a11.getA3()) == a11.getA7()); 1894 assert(dynamic_cast<A7*>(a11.getA4()) == a11.getA7()); 1895 assert(dynamic_cast<A7*>(a11.getA5()) == a11.getA7()); 1896 assert(dynamic_cast<A7*>(a11.getA6()) == a11.getA7()); 1897 1898 assert(dynamic_cast<A8*>(a11.getA1_3()) == a11.getA8()); 1899 assert(dynamic_cast<A8*>(a11.getA1_4()) == a11.getA8()); 1900 assert(dynamic_cast<A8*>(a11.getA1_6()) == a11.getA8()); 1901 assert(dynamic_cast<A8*>(a11.getA1_9()) == a11.getA8()); 1902 assert(dynamic_cast<A8*>(a11.getA2()) == a11.getA8()); 1903 assert(dynamic_cast<A8*>(a11.getA3()) == a11.getA8()); 1904 assert(dynamic_cast<A8*>(a11.getA4()) == a11.getA8()); 1905 assert(dynamic_cast<A8*>(a11.getA5()) == a11.getA8()); 1906 assert(dynamic_cast<A8*>(a11.getA6()) == a11.getA8()); 1907 assert(dynamic_cast<A8*>(a11.getA7()) == a11.getA8()); 1908 1909 assert(dynamic_cast<A9*>(a11.getA1_3()) == a11.getA9()); 1910 assert(dynamic_cast<A9*>(a11.getA1_4()) == a11.getA9()); 1911 assert(dynamic_cast<A9*>(a11.getA1_6()) == a11.getA9()); 1912 assert(dynamic_cast<A9*>(a11.getA1_9()) == a11.getA9()); 1913 assert(dynamic_cast<A9*>(a11.getA2()) == a11.getA9()); 1914 assert(dynamic_cast<A9*>(a11.getA3()) == a11.getA9()); 1915 assert(dynamic_cast<A9*>(a11.getA4()) == a11.getA9()); 1916 assert(dynamic_cast<A9*>(a11.getA5()) == a11.getA9()); 1917 assert(dynamic_cast<A9*>(a11.getA6()) == a11.getA9()); 1918 assert(dynamic_cast<A9*>(a11.getA7()) == a11.getA9()); 1919 assert(dynamic_cast<A9*>(a11.getA8()) == a11.getA9()); 1920 1921 assert(dynamic_cast<A10*>(a11.getA1_3()) == 0); 1922 assert(dynamic_cast<A10*>(a11.getA1_4()) == 0); 1923 assert(dynamic_cast<A10*>(a11.getA1_6()) == 0); 1924 assert(dynamic_cast<A10*>(a11.getA1_9()) == 0); 1925 assert(dynamic_cast<A10*>(a11.getA2()) == 0); 1926 assert(dynamic_cast<A10*>(a11.getA3()) == 0); 1927 assert(dynamic_cast<A10*>(a11.getA4()) == 0); 1928 assert(dynamic_cast<A10*>(a11.getA5()) == 0); 1929 assert(dynamic_cast<A10*>(a11.getA6()) == 0); 1930 assert(dynamic_cast<A10*>(a11.getA7()) == 0); 1931 assert(dynamic_cast<A10*>(a11.getA8()) == 0); 1932 assert(dynamic_cast<A10*>(a11.getA9()) == 0); 1933 1934 assert(dynamic_cast<A11*>(a11.getA1_3()) == a11.getA11()); 1935 assert(dynamic_cast<A11*>(a11.getA1_4()) == a11.getA11()); 1936 assert(dynamic_cast<A11*>(a11.getA1_6()) == a11.getA11()); 1937 assert(dynamic_cast<A11*>(a11.getA1_9()) == a11.getA11()); 1938 assert(dynamic_cast<A11*>(a11.getA2()) == a11.getA11()); 1939 assert(dynamic_cast<A11*>(a11.getA3()) == a11.getA11()); 1940 assert(dynamic_cast<A11*>(a11.getA4()) == a11.getA11()); 1941 assert(dynamic_cast<A11*>(a11.getA5()) == a11.getA11()); 1942 assert(dynamic_cast<A11*>(a11.getA6()) == a11.getA11()); 1943 assert(dynamic_cast<A11*>(a11.getA7()) == a11.getA11()); 1944 assert(dynamic_cast<A11*>(a11.getA8()) == a11.getA11()); 1945 assert(dynamic_cast<A11*>(a11.getA9()) == a11.getA11()); 1946 1947 assert(dynamic_cast<A3*>(a12.getA1_3()) == a12.getA3()); 1948 assert(dynamic_cast<A3*>(a12.getA1_4()) == a12.getA3()); 1949 assert(dynamic_cast<A3*>(a12.getA1_6()) == a12.getA3()); 1950 assert(dynamic_cast<A3*>(a12.getA1_9()) == a12.getA3()); 1951 assert(dynamic_cast<A3*>(a12.getA2()) == a12.getA3()); 1952 1953 assert(dynamic_cast<A4*>(a12.getA1_3()) == a12.getA4()); 1954 assert(dynamic_cast<A4*>(a12.getA1_4()) == a12.getA4()); 1955 assert(dynamic_cast<A4*>(a12.getA1_6()) == a12.getA4()); 1956 assert(dynamic_cast<A4*>(a12.getA1_9()) == a12.getA4()); 1957 assert(dynamic_cast<A4*>(a12.getA2()) == a12.getA4()); 1958 assert(dynamic_cast<A4*>(a12.getA3()) == a12.getA4()); 1959 1960 assert(dynamic_cast<A5*>(a12.getA1_3()) == a12.getA5()); 1961 assert(dynamic_cast<A5*>(a12.getA1_4()) == a12.getA5()); 1962 assert(dynamic_cast<A5*>(a12.getA1_6()) == a12.getA5()); 1963 assert(dynamic_cast<A5*>(a12.getA1_9()) == a12.getA5()); 1964 assert(dynamic_cast<A5*>(a12.getA2()) == a12.getA5()); 1965 assert(dynamic_cast<A5*>(a12.getA3()) == a12.getA5()); 1966 assert(dynamic_cast<A5*>(a12.getA4()) == a12.getA5()); 1967 1968 assert(dynamic_cast<A6*>(a12.getA1_3()) == a12.getA6()); 1969 assert(dynamic_cast<A6*>(a12.getA1_4()) == a12.getA6()); 1970 assert(dynamic_cast<A6*>(a12.getA1_6()) == a12.getA6()); 1971 assert(dynamic_cast<A6*>(a12.getA1_9()) == a12.getA6()); 1972 assert(dynamic_cast<A6*>(a12.getA2()) == a12.getA6()); 1973 assert(dynamic_cast<A6*>(a12.getA3()) == a12.getA6()); 1974 assert(dynamic_cast<A6*>(a12.getA4()) == a12.getA6()); 1975 assert(dynamic_cast<A6*>(a12.getA5()) == a12.getA6()); 1976 1977 assert(dynamic_cast<A7*>(a12.getA1_3()) == a12.getA7()); 1978 assert(dynamic_cast<A7*>(a12.getA1_4()) == a12.getA7()); 1979 assert(dynamic_cast<A7*>(a12.getA1_6()) == a12.getA7()); 1980 assert(dynamic_cast<A7*>(a12.getA1_9()) == a12.getA7()); 1981 assert(dynamic_cast<A7*>(a12.getA2()) == a12.getA7()); 1982 assert(dynamic_cast<A7*>(a12.getA3()) == a12.getA7()); 1983 assert(dynamic_cast<A7*>(a12.getA4()) == a12.getA7()); 1984 assert(dynamic_cast<A7*>(a12.getA5()) == a12.getA7()); 1985 assert(dynamic_cast<A7*>(a12.getA6()) == a12.getA7()); 1986 1987 assert(dynamic_cast<A8*>(a12.getA1_3()) == a12.getA8()); 1988 assert(dynamic_cast<A8*>(a12.getA1_4()) == a12.getA8()); 1989 assert(dynamic_cast<A8*>(a12.getA1_6()) == a12.getA8()); 1990 assert(dynamic_cast<A8*>(a12.getA1_9()) == a12.getA8()); 1991 assert(dynamic_cast<A8*>(a12.getA2()) == a12.getA8()); 1992 assert(dynamic_cast<A8*>(a12.getA3()) == a12.getA8()); 1993 assert(dynamic_cast<A8*>(a12.getA4()) == a12.getA8()); 1994 assert(dynamic_cast<A8*>(a12.getA5()) == a12.getA8()); 1995 assert(dynamic_cast<A8*>(a12.getA6()) == a12.getA8()); 1996 assert(dynamic_cast<A8*>(a12.getA7()) == a12.getA8()); 1997 1998 assert(dynamic_cast<A9*>(a12.getA1_3()) == a12.getA9()); 1999 assert(dynamic_cast<A9*>(a12.getA1_4()) == a12.getA9()); 2000 assert(dynamic_cast<A9*>(a12.getA1_6()) == a12.getA9()); 2001 assert(dynamic_cast<A9*>(a12.getA1_9()) == a12.getA9()); 2002 assert(dynamic_cast<A9*>(a12.getA2()) == a12.getA9()); 2003 assert(dynamic_cast<A9*>(a12.getA3()) == a12.getA9()); 2004 assert(dynamic_cast<A9*>(a12.getA4()) == a12.getA9()); 2005 assert(dynamic_cast<A9*>(a12.getA5()) == a12.getA9()); 2006 assert(dynamic_cast<A9*>(a12.getA6()) == a12.getA9()); 2007 assert(dynamic_cast<A9*>(a12.getA7()) == a12.getA9()); 2008 assert(dynamic_cast<A9*>(a12.getA8()) == a12.getA9()); 2009 2010 assert(dynamic_cast<A10*>(a12.getA1_3()) == a12.getA10()); 2011 assert(dynamic_cast<A10*>(a12.getA1_4()) == a12.getA10()); 2012 assert(dynamic_cast<A10*>(a12.getA1_6()) == a12.getA10()); 2013 assert(dynamic_cast<A10*>(a12.getA1_9()) == a12.getA10()); 2014 assert(dynamic_cast<A10*>(a12.getA2()) == a12.getA10()); 2015 assert(dynamic_cast<A10*>(a12.getA3()) == a12.getA10()); 2016 assert(dynamic_cast<A10*>(a12.getA4()) == a12.getA10()); 2017 assert(dynamic_cast<A10*>(a12.getA5()) == a12.getA10()); 2018 assert(dynamic_cast<A10*>(a12.getA6()) == a12.getA10()); 2019 assert(dynamic_cast<A10*>(a12.getA7()) == a12.getA10()); 2020 assert(dynamic_cast<A10*>(a12.getA8()) == a12.getA10()); 2021 assert(dynamic_cast<A10*>(a12.getA9()) == a12.getA10()); 2022 2023 assert(dynamic_cast<A11*>(a12.getA1_3()) == a12.getA11()); 2024 assert(dynamic_cast<A11*>(a12.getA1_4()) == a12.getA11()); 2025 assert(dynamic_cast<A11*>(a12.getA1_6()) == a12.getA11()); 2026 assert(dynamic_cast<A11*>(a12.getA1_9()) == a12.getA11()); 2027 assert(dynamic_cast<A11*>(a12.getA2()) == a12.getA11()); 2028 assert(dynamic_cast<A11*>(a12.getA3()) == a12.getA11()); 2029 assert(dynamic_cast<A11*>(a12.getA4()) == a12.getA11()); 2030 assert(dynamic_cast<A11*>(a12.getA5()) == a12.getA11()); 2031 assert(dynamic_cast<A11*>(a12.getA6()) == a12.getA11()); 2032 assert(dynamic_cast<A11*>(a12.getA7()) == a12.getA11()); 2033 assert(dynamic_cast<A11*>(a12.getA8()) == a12.getA11()); 2034 assert(dynamic_cast<A11*>(a12.getA9()) == a12.getA11()); 2035 assert(dynamic_cast<A11*>(a12.getA10()) == a12.getA11()); 2036 2037 assert(dynamic_cast<A12*>(a12.getA1_3()) == a12.getA12()); 2038 assert(dynamic_cast<A12*>(a12.getA1_4()) == a12.getA12()); 2039 assert(dynamic_cast<A12*>(a12.getA1_6()) == a12.getA12()); 2040 assert(dynamic_cast<A12*>(a12.getA1_9()) == a12.getA12()); 2041 assert(dynamic_cast<A12*>(a12.getA2()) == a12.getA12()); 2042 assert(dynamic_cast<A12*>(a12.getA3()) == a12.getA12()); 2043 assert(dynamic_cast<A12*>(a12.getA4()) == a12.getA12()); 2044 assert(dynamic_cast<A12*>(a12.getA5()) == a12.getA12()); 2045 assert(dynamic_cast<A12*>(a12.getA6()) == a12.getA12()); 2046 assert(dynamic_cast<A12*>(a12.getA7()) == a12.getA12()); 2047 assert(dynamic_cast<A12*>(a12.getA8()) == a12.getA12()); 2048 assert(dynamic_cast<A12*>(a12.getA9()) == a12.getA12()); 2049 assert(dynamic_cast<A12*>(a12.getA10()) == a12.getA12()); 2050 assert(dynamic_cast<A12*>(a12.getA11()) == a12.getA12()); 2051 2052 assert(dynamic_cast<A3*>(a13.getA1_3()) == a13.getA3()); 2053 assert(dynamic_cast<A3*>(a13.getA1_4()) == a13.getA3()); 2054 assert(dynamic_cast<A3*>(a13.getA1_6()) == a13.getA3()); 2055 assert(dynamic_cast<A3*>(a13.getA1_9()) == a13.getA3()); 2056 assert(dynamic_cast<A3*>(a13.getA2()) == a13.getA3()); 2057 2058 assert(dynamic_cast<A4*>(a13.getA1_3()) == a13.getA4()); 2059 assert(dynamic_cast<A4*>(a13.getA1_4()) == a13.getA4()); 2060 assert(dynamic_cast<A4*>(a13.getA1_6()) == a13.getA4()); 2061 assert(dynamic_cast<A4*>(a13.getA1_9()) == a13.getA4()); 2062 assert(dynamic_cast<A4*>(a13.getA2()) == a13.getA4()); 2063 assert(dynamic_cast<A4*>(a13.getA3()) == a13.getA4()); 2064 2065 assert(dynamic_cast<A5*>(a13.getA1_3()) == a13.getA5()); 2066 assert(dynamic_cast<A5*>(a13.getA1_4()) == a13.getA5()); 2067 assert(dynamic_cast<A5*>(a13.getA1_6()) == a13.getA5()); 2068 assert(dynamic_cast<A5*>(a13.getA1_9()) == a13.getA5()); 2069 assert(dynamic_cast<A5*>(a13.getA2()) == a13.getA5()); 2070 assert(dynamic_cast<A5*>(a13.getA3()) == a13.getA5()); 2071 assert(dynamic_cast<A5*>(a13.getA4()) == a13.getA5()); 2072 2073 assert(dynamic_cast<A6*>(a13.getA1_3()) == a13.getA6()); 2074 assert(dynamic_cast<A6*>(a13.getA1_4()) == a13.getA6()); 2075 assert(dynamic_cast<A6*>(a13.getA1_6()) == a13.getA6()); 2076 assert(dynamic_cast<A6*>(a13.getA1_9()) == a13.getA6()); 2077 assert(dynamic_cast<A6*>(a13.getA2()) == a13.getA6()); 2078 assert(dynamic_cast<A6*>(a13.getA3()) == a13.getA6()); 2079 assert(dynamic_cast<A6*>(a13.getA4()) == a13.getA6()); 2080 assert(dynamic_cast<A6*>(a13.getA5()) == a13.getA6()); 2081 2082 assert(dynamic_cast<A7*>(a13.getA1_3()) == a13.getA7()); 2083 assert(dynamic_cast<A7*>(a13.getA1_4()) == a13.getA7()); 2084 assert(dynamic_cast<A7*>(a13.getA1_6()) == a13.getA7()); 2085 assert(dynamic_cast<A7*>(a13.getA1_9()) == a13.getA7()); 2086 assert(dynamic_cast<A7*>(a13.getA2()) == a13.getA7()); 2087 assert(dynamic_cast<A7*>(a13.getA3()) == a13.getA7()); 2088 assert(dynamic_cast<A7*>(a13.getA4()) == a13.getA7()); 2089 assert(dynamic_cast<A7*>(a13.getA5()) == a13.getA7()); 2090 assert(dynamic_cast<A7*>(a13.getA6()) == a13.getA7()); 2091 2092 assert(dynamic_cast<A8*>(a13.getA1_3()) == a13.getA8()); 2093 assert(dynamic_cast<A8*>(a13.getA1_4()) == a13.getA8()); 2094 assert(dynamic_cast<A8*>(a13.getA1_6()) == a13.getA8()); 2095 assert(dynamic_cast<A8*>(a13.getA1_9()) == a13.getA8()); 2096 assert(dynamic_cast<A8*>(a13.getA2()) == a13.getA8()); 2097 assert(dynamic_cast<A8*>(a13.getA3()) == a13.getA8()); 2098 assert(dynamic_cast<A8*>(a13.getA4()) == a13.getA8()); 2099 assert(dynamic_cast<A8*>(a13.getA5()) == a13.getA8()); 2100 assert(dynamic_cast<A8*>(a13.getA6()) == a13.getA8()); 2101 assert(dynamic_cast<A8*>(a13.getA7()) == a13.getA8()); 2102 2103 assert(dynamic_cast<A9*>(a13.getA1_3()) == a13.getA9()); 2104 assert(dynamic_cast<A9*>(a13.getA1_4()) == a13.getA9()); 2105 assert(dynamic_cast<A9*>(a13.getA1_6()) == a13.getA9()); 2106 assert(dynamic_cast<A9*>(a13.getA1_9()) == a13.getA9()); 2107 assert(dynamic_cast<A9*>(a13.getA2()) == a13.getA9()); 2108 assert(dynamic_cast<A9*>(a13.getA3()) == a13.getA9()); 2109 assert(dynamic_cast<A9*>(a13.getA4()) == a13.getA9()); 2110 assert(dynamic_cast<A9*>(a13.getA5()) == a13.getA9()); 2111 assert(dynamic_cast<A9*>(a13.getA6()) == a13.getA9()); 2112 assert(dynamic_cast<A9*>(a13.getA7()) == a13.getA9()); 2113 assert(dynamic_cast<A9*>(a13.getA8()) == a13.getA9()); 2114 2115 assert(dynamic_cast<A10*>(a13.getA1_3()) == a13.getA10()); 2116 assert(dynamic_cast<A10*>(a13.getA1_4()) == a13.getA10()); 2117 assert(dynamic_cast<A10*>(a13.getA1_6()) == a13.getA10()); 2118 assert(dynamic_cast<A10*>(a13.getA1_9()) == a13.getA10()); 2119 assert(dynamic_cast<A10*>(a13.getA2()) == a13.getA10()); 2120 assert(dynamic_cast<A10*>(a13.getA3()) == a13.getA10()); 2121 assert(dynamic_cast<A10*>(a13.getA4()) == a13.getA10()); 2122 assert(dynamic_cast<A10*>(a13.getA5()) == a13.getA10()); 2123 assert(dynamic_cast<A10*>(a13.getA6()) == a13.getA10()); 2124 assert(dynamic_cast<A10*>(a13.getA7()) == a13.getA10()); 2125 assert(dynamic_cast<A10*>(a13.getA8()) == a13.getA10()); 2126 assert(dynamic_cast<A10*>(a13.getA9()) == a13.getA10()); 2127 2128 assert(dynamic_cast<A11*>(a13.getA1_3()) == a13.getA11()); 2129 assert(dynamic_cast<A11*>(a13.getA1_4()) == a13.getA11()); 2130 assert(dynamic_cast<A11*>(a13.getA1_6()) == a13.getA11()); 2131 assert(dynamic_cast<A11*>(a13.getA1_9()) == a13.getA11()); 2132 assert(dynamic_cast<A11*>(a13.getA2()) == a13.getA11()); 2133 assert(dynamic_cast<A11*>(a13.getA3()) == a13.getA11()); 2134 assert(dynamic_cast<A11*>(a13.getA4()) == a13.getA11()); 2135 assert(dynamic_cast<A11*>(a13.getA5()) == a13.getA11()); 2136 assert(dynamic_cast<A11*>(a13.getA6()) == a13.getA11()); 2137 assert(dynamic_cast<A11*>(a13.getA7()) == a13.getA11()); 2138 assert(dynamic_cast<A11*>(a13.getA8()) == a13.getA11()); 2139 assert(dynamic_cast<A11*>(a13.getA9()) == a13.getA11()); 2140 assert(dynamic_cast<A11*>(a13.getA10()) == a13.getA11()); 2141 2142 assert(dynamic_cast<A12*>(a13.getA1_3()) == a13.getA12()); 2143 assert(dynamic_cast<A12*>(a13.getA1_4()) == a13.getA12()); 2144 assert(dynamic_cast<A12*>(a13.getA1_6()) == a13.getA12()); 2145 assert(dynamic_cast<A12*>(a13.getA1_9()) == a13.getA12()); 2146 assert(dynamic_cast<A12*>(a13.getA2()) == a13.getA12()); 2147 assert(dynamic_cast<A12*>(a13.getA3()) == a13.getA12()); 2148 assert(dynamic_cast<A12*>(a13.getA4()) == a13.getA12()); 2149 assert(dynamic_cast<A12*>(a13.getA5()) == a13.getA12()); 2150 assert(dynamic_cast<A12*>(a13.getA6()) == a13.getA12()); 2151 assert(dynamic_cast<A12*>(a13.getA7()) == a13.getA12()); 2152 assert(dynamic_cast<A12*>(a13.getA8()) == a13.getA12()); 2153 assert(dynamic_cast<A12*>(a13.getA9()) == a13.getA12()); 2154 assert(dynamic_cast<A12*>(a13.getA10()) == a13.getA12()); 2155 assert(dynamic_cast<A12*>(a13.getA11()) == a13.getA12()); 2156 2157 assert(dynamic_cast<A13*>(a13.getA1_3()) == a13.getA13()); 2158 assert(dynamic_cast<A13*>(a13.getA1_4()) == a13.getA13()); 2159 assert(dynamic_cast<A13*>(a13.getA1_6()) == a13.getA13()); 2160 assert(dynamic_cast<A13*>(a13.getA1_9()) == a13.getA13()); 2161 assert(dynamic_cast<A13*>(a13.getA2()) == a13.getA13()); 2162 assert(dynamic_cast<A13*>(a13.getA3()) == a13.getA13()); 2163 assert(dynamic_cast<A13*>(a13.getA4()) == a13.getA13()); 2164 assert(dynamic_cast<A13*>(a13.getA5()) == a13.getA13()); 2165 assert(dynamic_cast<A13*>(a13.getA6()) == a13.getA13()); 2166 assert(dynamic_cast<A13*>(a13.getA7()) == a13.getA13()); 2167 assert(dynamic_cast<A13*>(a13.getA8()) == a13.getA13()); 2168 assert(dynamic_cast<A13*>(a13.getA9()) == a13.getA13()); 2169 assert(dynamic_cast<A13*>(a13.getA10()) == a13.getA13()); 2170 assert(dynamic_cast<A13*>(a13.getA11()) == a13.getA13()); 2171 assert(dynamic_cast<A13*>(a13.getA12()) == a13.getA13()); 2172 } 2173 2174 } // t3 2175 2176 int main() 2177 { 2178 timer t; 2179 t1::test(); 2180 t2::test(); 2181 t3::test(); 2182 } 2183