brintos

brintos / llvm-project-archived public Read only

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