Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:41:51

0001 
0002 // Copyright Aleksey Gurtovoy 2000-2004
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. 
0005 // (See accompanying file LICENSE_1_0.txt or copy at 
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 
0009 // Preprocessed version of "boost/mpl/vector/vector30.hpp" header
0010 // -- DO NOT modify by hand!
0011 
0012 namespace boost { namespace mpl {
0013 
0014 template<
0015       typename T0, typename T1, typename T2, typename T3, typename T4
0016     , typename T5, typename T6, typename T7, typename T8, typename T9
0017     , typename T10, typename T11, typename T12, typename T13, typename T14
0018     , typename T15, typename T16, typename T17, typename T18, typename T19
0019     , typename T20
0020     >
0021 struct vector21
0022 {
0023     typedef aux::vector_tag<21> tag;
0024     typedef vector21 type;
0025     typedef T0 item0;
0026     typedef T1 item1;
0027     typedef T2 item2;
0028     typedef T3 item3;
0029     typedef T4 item4;
0030     typedef T5 item5;
0031     typedef T6 item6;
0032     typedef T7 item7;
0033     typedef T8 item8;
0034     typedef T9 item9;
0035     typedef T10 item10;
0036     typedef T11 item11;
0037     typedef T12 item12;
0038     typedef T13 item13;
0039     typedef T14 item14;
0040     typedef T15 item15;
0041     typedef T16 item16;
0042     typedef T17 item17;
0043     typedef T18 item18;
0044     typedef T19 item19;
0045     typedef T20 item20;
0046     
0047 
0048     typedef void_ item21;
0049     typedef T20 back;
0050     typedef v_iter< type,0 > begin;
0051     typedef v_iter< type,21 > end;
0052 };
0053 
0054 template<>
0055 struct push_front_impl< aux::vector_tag<20> >
0056 {
0057     template< typename Vector, typename T > struct apply
0058     {
0059         typedef vector21<
0060               T
0061               ,
0062               typename Vector::item0, typename Vector::item1
0063             , typename Vector::item2, typename Vector::item3
0064             , typename Vector::item4, typename Vector::item5
0065             , typename Vector::item6, typename Vector::item7
0066             , typename Vector::item8, typename Vector::item9
0067             , typename Vector::item10, typename Vector::item11
0068             , typename Vector::item12, typename Vector::item13
0069             , typename Vector::item14, typename Vector::item15
0070             , typename Vector::item16, typename Vector::item17
0071             , typename Vector::item18, typename Vector::item19
0072             > type;
0073     };
0074 };
0075 
0076 template<>
0077 struct pop_front_impl< aux::vector_tag<21> >
0078 {
0079     template< typename Vector > struct apply
0080     {
0081         typedef vector20<
0082               typename Vector::item1, typename Vector::item2
0083             , typename Vector::item3, typename Vector::item4
0084             , typename Vector::item5, typename Vector::item6
0085             , typename Vector::item7, typename Vector::item8
0086             , typename Vector::item9, typename Vector::item10
0087             , typename Vector::item11, typename Vector::item12
0088             , typename Vector::item13, typename Vector::item14
0089             , typename Vector::item15, typename Vector::item16
0090             , typename Vector::item17, typename Vector::item18
0091             , typename Vector::item19, typename Vector::item20
0092             > type;
0093     };
0094 };
0095 
0096 template<>
0097 struct push_back_impl< aux::vector_tag<20> >
0098 {
0099     template< typename Vector, typename T > struct apply
0100     {
0101         typedef vector21<
0102               typename Vector::item0, typename Vector::item1
0103             , typename Vector::item2, typename Vector::item3
0104             , typename Vector::item4, typename Vector::item5
0105             , typename Vector::item6, typename Vector::item7
0106             , typename Vector::item8, typename Vector::item9
0107             , typename Vector::item10, typename Vector::item11
0108             , typename Vector::item12, typename Vector::item13
0109             , typename Vector::item14, typename Vector::item15
0110             , typename Vector::item16, typename Vector::item17
0111             , typename Vector::item18, typename Vector::item19
0112               ,
0113               T
0114             > type;
0115     };
0116 };
0117 
0118 template<>
0119 struct pop_back_impl< aux::vector_tag<21> >
0120 {
0121     template< typename Vector > struct apply
0122     {
0123         typedef vector20<
0124               typename Vector::item0, typename Vector::item1
0125             , typename Vector::item2, typename Vector::item3
0126             , typename Vector::item4, typename Vector::item5
0127             , typename Vector::item6, typename Vector::item7
0128             , typename Vector::item8, typename Vector::item9
0129             , typename Vector::item10, typename Vector::item11
0130             , typename Vector::item12, typename Vector::item13
0131             , typename Vector::item14, typename Vector::item15
0132             , typename Vector::item16, typename Vector::item17
0133             , typename Vector::item18, typename Vector::item19
0134             > type;
0135     };
0136 };
0137 
0138 template< typename V >
0139 struct v_at< V,21 >
0140 {
0141     typedef typename V::item21 type;
0142 };
0143 
0144 template<
0145       typename T0, typename T1, typename T2, typename T3, typename T4
0146     , typename T5, typename T6, typename T7, typename T8, typename T9
0147     , typename T10, typename T11, typename T12, typename T13, typename T14
0148     , typename T15, typename T16, typename T17, typename T18, typename T19
0149     , typename T20, typename T21
0150     >
0151 struct vector22
0152 {
0153     typedef aux::vector_tag<22> tag;
0154     typedef vector22 type;
0155     typedef T0 item0;
0156     typedef T1 item1;
0157     typedef T2 item2;
0158     typedef T3 item3;
0159     typedef T4 item4;
0160     typedef T5 item5;
0161     typedef T6 item6;
0162     typedef T7 item7;
0163     typedef T8 item8;
0164     typedef T9 item9;
0165     typedef T10 item10;
0166     typedef T11 item11;
0167     typedef T12 item12;
0168     typedef T13 item13;
0169     typedef T14 item14;
0170     typedef T15 item15;
0171     typedef T16 item16;
0172     typedef T17 item17;
0173     typedef T18 item18;
0174     typedef T19 item19;
0175     typedef T20 item20;
0176     typedef T21 item21;
0177     
0178 
0179     typedef void_ item22;
0180     typedef T21 back;
0181     typedef v_iter< type,0 > begin;
0182     typedef v_iter< type,22 > end;
0183 };
0184 
0185 template<>
0186 struct push_front_impl< aux::vector_tag<21> >
0187 {
0188     template< typename Vector, typename T > struct apply
0189     {
0190         typedef vector22<
0191               T
0192               ,
0193               typename Vector::item0, typename Vector::item1
0194             , typename Vector::item2, typename Vector::item3
0195             , typename Vector::item4, typename Vector::item5
0196             , typename Vector::item6, typename Vector::item7
0197             , typename Vector::item8, typename Vector::item9
0198             , typename Vector::item10, typename Vector::item11
0199             , typename Vector::item12, typename Vector::item13
0200             , typename Vector::item14, typename Vector::item15
0201             , typename Vector::item16, typename Vector::item17
0202             , typename Vector::item18, typename Vector::item19
0203             , typename Vector::item20
0204             > type;
0205     };
0206 };
0207 
0208 template<>
0209 struct pop_front_impl< aux::vector_tag<22> >
0210 {
0211     template< typename Vector > struct apply
0212     {
0213         typedef vector21<
0214               typename Vector::item1, typename Vector::item2
0215             , typename Vector::item3, typename Vector::item4
0216             , typename Vector::item5, typename Vector::item6
0217             , typename Vector::item7, typename Vector::item8
0218             , typename Vector::item9, typename Vector::item10
0219             , typename Vector::item11, typename Vector::item12
0220             , typename Vector::item13, typename Vector::item14
0221             , typename Vector::item15, typename Vector::item16
0222             , typename Vector::item17, typename Vector::item18
0223             , typename Vector::item19, typename Vector::item20
0224             , typename Vector::item21
0225             > type;
0226     };
0227 };
0228 
0229 template<>
0230 struct push_back_impl< aux::vector_tag<21> >
0231 {
0232     template< typename Vector, typename T > struct apply
0233     {
0234         typedef vector22<
0235               typename Vector::item0, typename Vector::item1
0236             , typename Vector::item2, typename Vector::item3
0237             , typename Vector::item4, typename Vector::item5
0238             , typename Vector::item6, typename Vector::item7
0239             , typename Vector::item8, typename Vector::item9
0240             , typename Vector::item10, typename Vector::item11
0241             , typename Vector::item12, typename Vector::item13
0242             , typename Vector::item14, typename Vector::item15
0243             , typename Vector::item16, typename Vector::item17
0244             , typename Vector::item18, typename Vector::item19
0245             , typename Vector::item20
0246               ,
0247               T
0248             > type;
0249     };
0250 };
0251 
0252 template<>
0253 struct pop_back_impl< aux::vector_tag<22> >
0254 {
0255     template< typename Vector > struct apply
0256     {
0257         typedef vector21<
0258               typename Vector::item0, typename Vector::item1
0259             , typename Vector::item2, typename Vector::item3
0260             , typename Vector::item4, typename Vector::item5
0261             , typename Vector::item6, typename Vector::item7
0262             , typename Vector::item8, typename Vector::item9
0263             , typename Vector::item10, typename Vector::item11
0264             , typename Vector::item12, typename Vector::item13
0265             , typename Vector::item14, typename Vector::item15
0266             , typename Vector::item16, typename Vector::item17
0267             , typename Vector::item18, typename Vector::item19
0268             , typename Vector::item20
0269             > type;
0270     };
0271 };
0272 
0273 template< typename V >
0274 struct v_at< V,22 >
0275 {
0276     typedef typename V::item22 type;
0277 };
0278 
0279 template<
0280       typename T0, typename T1, typename T2, typename T3, typename T4
0281     , typename T5, typename T6, typename T7, typename T8, typename T9
0282     , typename T10, typename T11, typename T12, typename T13, typename T14
0283     , typename T15, typename T16, typename T17, typename T18, typename T19
0284     , typename T20, typename T21, typename T22
0285     >
0286 struct vector23
0287 {
0288     typedef aux::vector_tag<23> tag;
0289     typedef vector23 type;
0290     typedef T0 item0;
0291     typedef T1 item1;
0292     typedef T2 item2;
0293     typedef T3 item3;
0294     typedef T4 item4;
0295     typedef T5 item5;
0296     typedef T6 item6;
0297     typedef T7 item7;
0298     typedef T8 item8;
0299     typedef T9 item9;
0300     typedef T10 item10;
0301     typedef T11 item11;
0302     typedef T12 item12;
0303     typedef T13 item13;
0304     typedef T14 item14;
0305     typedef T15 item15;
0306     typedef T16 item16;
0307     typedef T17 item17;
0308     typedef T18 item18;
0309     typedef T19 item19;
0310     typedef T20 item20;
0311     typedef T21 item21;
0312     typedef T22 item22;
0313     
0314 
0315     typedef void_ item23;
0316     typedef T22 back;
0317     typedef v_iter< type,0 > begin;
0318     typedef v_iter< type,23 > end;
0319 };
0320 
0321 template<>
0322 struct push_front_impl< aux::vector_tag<22> >
0323 {
0324     template< typename Vector, typename T > struct apply
0325     {
0326         typedef vector23<
0327               T
0328               ,
0329               typename Vector::item0, typename Vector::item1
0330             , typename Vector::item2, typename Vector::item3
0331             , typename Vector::item4, typename Vector::item5
0332             , typename Vector::item6, typename Vector::item7
0333             , typename Vector::item8, typename Vector::item9
0334             , typename Vector::item10, typename Vector::item11
0335             , typename Vector::item12, typename Vector::item13
0336             , typename Vector::item14, typename Vector::item15
0337             , typename Vector::item16, typename Vector::item17
0338             , typename Vector::item18, typename Vector::item19
0339             , typename Vector::item20, typename Vector::item21
0340             > type;
0341     };
0342 };
0343 
0344 template<>
0345 struct pop_front_impl< aux::vector_tag<23> >
0346 {
0347     template< typename Vector > struct apply
0348     {
0349         typedef vector22<
0350               typename Vector::item1, typename Vector::item2
0351             , typename Vector::item3, typename Vector::item4
0352             , typename Vector::item5, typename Vector::item6
0353             , typename Vector::item7, typename Vector::item8
0354             , typename Vector::item9, typename Vector::item10
0355             , typename Vector::item11, typename Vector::item12
0356             , typename Vector::item13, typename Vector::item14
0357             , typename Vector::item15, typename Vector::item16
0358             , typename Vector::item17, typename Vector::item18
0359             , typename Vector::item19, typename Vector::item20
0360             , typename Vector::item21, typename Vector::item22
0361             > type;
0362     };
0363 };
0364 
0365 template<>
0366 struct push_back_impl< aux::vector_tag<22> >
0367 {
0368     template< typename Vector, typename T > struct apply
0369     {
0370         typedef vector23<
0371               typename Vector::item0, typename Vector::item1
0372             , typename Vector::item2, typename Vector::item3
0373             , typename Vector::item4, typename Vector::item5
0374             , typename Vector::item6, typename Vector::item7
0375             , typename Vector::item8, typename Vector::item9
0376             , typename Vector::item10, typename Vector::item11
0377             , typename Vector::item12, typename Vector::item13
0378             , typename Vector::item14, typename Vector::item15
0379             , typename Vector::item16, typename Vector::item17
0380             , typename Vector::item18, typename Vector::item19
0381             , typename Vector::item20, typename Vector::item21
0382               ,
0383               T
0384             > type;
0385     };
0386 };
0387 
0388 template<>
0389 struct pop_back_impl< aux::vector_tag<23> >
0390 {
0391     template< typename Vector > struct apply
0392     {
0393         typedef vector22<
0394               typename Vector::item0, typename Vector::item1
0395             , typename Vector::item2, typename Vector::item3
0396             , typename Vector::item4, typename Vector::item5
0397             , typename Vector::item6, typename Vector::item7
0398             , typename Vector::item8, typename Vector::item9
0399             , typename Vector::item10, typename Vector::item11
0400             , typename Vector::item12, typename Vector::item13
0401             , typename Vector::item14, typename Vector::item15
0402             , typename Vector::item16, typename Vector::item17
0403             , typename Vector::item18, typename Vector::item19
0404             , typename Vector::item20, typename Vector::item21
0405             > type;
0406     };
0407 };
0408 
0409 template< typename V >
0410 struct v_at< V,23 >
0411 {
0412     typedef typename V::item23 type;
0413 };
0414 
0415 template<
0416       typename T0, typename T1, typename T2, typename T3, typename T4
0417     , typename T5, typename T6, typename T7, typename T8, typename T9
0418     , typename T10, typename T11, typename T12, typename T13, typename T14
0419     , typename T15, typename T16, typename T17, typename T18, typename T19
0420     , typename T20, typename T21, typename T22, typename T23
0421     >
0422 struct vector24
0423 {
0424     typedef aux::vector_tag<24> tag;
0425     typedef vector24 type;
0426     typedef T0 item0;
0427     typedef T1 item1;
0428     typedef T2 item2;
0429     typedef T3 item3;
0430     typedef T4 item4;
0431     typedef T5 item5;
0432     typedef T6 item6;
0433     typedef T7 item7;
0434     typedef T8 item8;
0435     typedef T9 item9;
0436     typedef T10 item10;
0437     typedef T11 item11;
0438     typedef T12 item12;
0439     typedef T13 item13;
0440     typedef T14 item14;
0441     typedef T15 item15;
0442     typedef T16 item16;
0443     typedef T17 item17;
0444     typedef T18 item18;
0445     typedef T19 item19;
0446     typedef T20 item20;
0447     typedef T21 item21;
0448     typedef T22 item22;
0449     typedef T23 item23;
0450     
0451 
0452     typedef void_ item24;
0453     typedef T23 back;
0454     typedef v_iter< type,0 > begin;
0455     typedef v_iter< type,24 > end;
0456 };
0457 
0458 template<>
0459 struct push_front_impl< aux::vector_tag<23> >
0460 {
0461     template< typename Vector, typename T > struct apply
0462     {
0463         typedef vector24<
0464               T
0465               ,
0466               typename Vector::item0, typename Vector::item1
0467             , typename Vector::item2, typename Vector::item3
0468             , typename Vector::item4, typename Vector::item5
0469             , typename Vector::item6, typename Vector::item7
0470             , typename Vector::item8, typename Vector::item9
0471             , typename Vector::item10, typename Vector::item11
0472             , typename Vector::item12, typename Vector::item13
0473             , typename Vector::item14, typename Vector::item15
0474             , typename Vector::item16, typename Vector::item17
0475             , typename Vector::item18, typename Vector::item19
0476             , typename Vector::item20, typename Vector::item21
0477             , typename Vector::item22
0478             > type;
0479     };
0480 };
0481 
0482 template<>
0483 struct pop_front_impl< aux::vector_tag<24> >
0484 {
0485     template< typename Vector > struct apply
0486     {
0487         typedef vector23<
0488               typename Vector::item1, typename Vector::item2
0489             , typename Vector::item3, typename Vector::item4
0490             , typename Vector::item5, typename Vector::item6
0491             , typename Vector::item7, typename Vector::item8
0492             , typename Vector::item9, typename Vector::item10
0493             , typename Vector::item11, typename Vector::item12
0494             , typename Vector::item13, typename Vector::item14
0495             , typename Vector::item15, typename Vector::item16
0496             , typename Vector::item17, typename Vector::item18
0497             , typename Vector::item19, typename Vector::item20
0498             , typename Vector::item21, typename Vector::item22
0499             , typename Vector::item23
0500             > type;
0501     };
0502 };
0503 
0504 template<>
0505 struct push_back_impl< aux::vector_tag<23> >
0506 {
0507     template< typename Vector, typename T > struct apply
0508     {
0509         typedef vector24<
0510               typename Vector::item0, typename Vector::item1
0511             , typename Vector::item2, typename Vector::item3
0512             , typename Vector::item4, typename Vector::item5
0513             , typename Vector::item6, typename Vector::item7
0514             , typename Vector::item8, typename Vector::item9
0515             , typename Vector::item10, typename Vector::item11
0516             , typename Vector::item12, typename Vector::item13
0517             , typename Vector::item14, typename Vector::item15
0518             , typename Vector::item16, typename Vector::item17
0519             , typename Vector::item18, typename Vector::item19
0520             , typename Vector::item20, typename Vector::item21
0521             , typename Vector::item22
0522               ,
0523               T
0524             > type;
0525     };
0526 };
0527 
0528 template<>
0529 struct pop_back_impl< aux::vector_tag<24> >
0530 {
0531     template< typename Vector > struct apply
0532     {
0533         typedef vector23<
0534               typename Vector::item0, typename Vector::item1
0535             , typename Vector::item2, typename Vector::item3
0536             , typename Vector::item4, typename Vector::item5
0537             , typename Vector::item6, typename Vector::item7
0538             , typename Vector::item8, typename Vector::item9
0539             , typename Vector::item10, typename Vector::item11
0540             , typename Vector::item12, typename Vector::item13
0541             , typename Vector::item14, typename Vector::item15
0542             , typename Vector::item16, typename Vector::item17
0543             , typename Vector::item18, typename Vector::item19
0544             , typename Vector::item20, typename Vector::item21
0545             , typename Vector::item22
0546             > type;
0547     };
0548 };
0549 
0550 template< typename V >
0551 struct v_at< V,24 >
0552 {
0553     typedef typename V::item24 type;
0554 };
0555 
0556 template<
0557       typename T0, typename T1, typename T2, typename T3, typename T4
0558     , typename T5, typename T6, typename T7, typename T8, typename T9
0559     , typename T10, typename T11, typename T12, typename T13, typename T14
0560     , typename T15, typename T16, typename T17, typename T18, typename T19
0561     , typename T20, typename T21, typename T22, typename T23, typename T24
0562     >
0563 struct vector25
0564 {
0565     typedef aux::vector_tag<25> tag;
0566     typedef vector25 type;
0567     typedef T0 item0;
0568     typedef T1 item1;
0569     typedef T2 item2;
0570     typedef T3 item3;
0571     typedef T4 item4;
0572     typedef T5 item5;
0573     typedef T6 item6;
0574     typedef T7 item7;
0575     typedef T8 item8;
0576     typedef T9 item9;
0577     typedef T10 item10;
0578     typedef T11 item11;
0579     typedef T12 item12;
0580     typedef T13 item13;
0581     typedef T14 item14;
0582     typedef T15 item15;
0583     typedef T16 item16;
0584     typedef T17 item17;
0585     typedef T18 item18;
0586     typedef T19 item19;
0587     typedef T20 item20;
0588     typedef T21 item21;
0589     typedef T22 item22;
0590     typedef T23 item23;
0591     typedef T24 item24;
0592     
0593 
0594     typedef void_ item25;
0595     typedef T24 back;
0596     typedef v_iter< type,0 > begin;
0597     typedef v_iter< type,25 > end;
0598 };
0599 
0600 template<>
0601 struct push_front_impl< aux::vector_tag<24> >
0602 {
0603     template< typename Vector, typename T > struct apply
0604     {
0605         typedef vector25<
0606               T
0607               ,
0608               typename Vector::item0, typename Vector::item1
0609             , typename Vector::item2, typename Vector::item3
0610             , typename Vector::item4, typename Vector::item5
0611             , typename Vector::item6, typename Vector::item7
0612             , typename Vector::item8, typename Vector::item9
0613             , typename Vector::item10, typename Vector::item11
0614             , typename Vector::item12, typename Vector::item13
0615             , typename Vector::item14, typename Vector::item15
0616             , typename Vector::item16, typename Vector::item17
0617             , typename Vector::item18, typename Vector::item19
0618             , typename Vector::item20, typename Vector::item21
0619             , typename Vector::item22, typename Vector::item23
0620             > type;
0621     };
0622 };
0623 
0624 template<>
0625 struct pop_front_impl< aux::vector_tag<25> >
0626 {
0627     template< typename Vector > struct apply
0628     {
0629         typedef vector24<
0630               typename Vector::item1, typename Vector::item2
0631             , typename Vector::item3, typename Vector::item4
0632             , typename Vector::item5, typename Vector::item6
0633             , typename Vector::item7, typename Vector::item8
0634             , typename Vector::item9, typename Vector::item10
0635             , typename Vector::item11, typename Vector::item12
0636             , typename Vector::item13, typename Vector::item14
0637             , typename Vector::item15, typename Vector::item16
0638             , typename Vector::item17, typename Vector::item18
0639             , typename Vector::item19, typename Vector::item20
0640             , typename Vector::item21, typename Vector::item22
0641             , typename Vector::item23, typename Vector::item24
0642             > type;
0643     };
0644 };
0645 
0646 template<>
0647 struct push_back_impl< aux::vector_tag<24> >
0648 {
0649     template< typename Vector, typename T > struct apply
0650     {
0651         typedef vector25<
0652               typename Vector::item0, typename Vector::item1
0653             , typename Vector::item2, typename Vector::item3
0654             , typename Vector::item4, typename Vector::item5
0655             , typename Vector::item6, typename Vector::item7
0656             , typename Vector::item8, typename Vector::item9
0657             , typename Vector::item10, typename Vector::item11
0658             , typename Vector::item12, typename Vector::item13
0659             , typename Vector::item14, typename Vector::item15
0660             , typename Vector::item16, typename Vector::item17
0661             , typename Vector::item18, typename Vector::item19
0662             , typename Vector::item20, typename Vector::item21
0663             , typename Vector::item22, typename Vector::item23
0664               ,
0665               T
0666             > type;
0667     };
0668 };
0669 
0670 template<>
0671 struct pop_back_impl< aux::vector_tag<25> >
0672 {
0673     template< typename Vector > struct apply
0674     {
0675         typedef vector24<
0676               typename Vector::item0, typename Vector::item1
0677             , typename Vector::item2, typename Vector::item3
0678             , typename Vector::item4, typename Vector::item5
0679             , typename Vector::item6, typename Vector::item7
0680             , typename Vector::item8, typename Vector::item9
0681             , typename Vector::item10, typename Vector::item11
0682             , typename Vector::item12, typename Vector::item13
0683             , typename Vector::item14, typename Vector::item15
0684             , typename Vector::item16, typename Vector::item17
0685             , typename Vector::item18, typename Vector::item19
0686             , typename Vector::item20, typename Vector::item21
0687             , typename Vector::item22, typename Vector::item23
0688             > type;
0689     };
0690 };
0691 
0692 template< typename V >
0693 struct v_at< V,25 >
0694 {
0695     typedef typename V::item25 type;
0696 };
0697 
0698 template<
0699       typename T0, typename T1, typename T2, typename T3, typename T4
0700     , typename T5, typename T6, typename T7, typename T8, typename T9
0701     , typename T10, typename T11, typename T12, typename T13, typename T14
0702     , typename T15, typename T16, typename T17, typename T18, typename T19
0703     , typename T20, typename T21, typename T22, typename T23, typename T24
0704     , typename T25
0705     >
0706 struct vector26
0707 {
0708     typedef aux::vector_tag<26> tag;
0709     typedef vector26 type;
0710     typedef T0 item0;
0711     typedef T1 item1;
0712     typedef T2 item2;
0713     typedef T3 item3;
0714     typedef T4 item4;
0715     typedef T5 item5;
0716     typedef T6 item6;
0717     typedef T7 item7;
0718     typedef T8 item8;
0719     typedef T9 item9;
0720     typedef T10 item10;
0721     typedef T11 item11;
0722     typedef T12 item12;
0723     typedef T13 item13;
0724     typedef T14 item14;
0725     typedef T15 item15;
0726     typedef T16 item16;
0727     typedef T17 item17;
0728     typedef T18 item18;
0729     typedef T19 item19;
0730     typedef T20 item20;
0731     typedef T21 item21;
0732     typedef T22 item22;
0733     typedef T23 item23;
0734     typedef T24 item24;
0735     typedef T25 item25;
0736     
0737 
0738     typedef void_ item26;
0739     typedef T25 back;
0740     typedef v_iter< type,0 > begin;
0741     typedef v_iter< type,26 > end;
0742 };
0743 
0744 template<>
0745 struct push_front_impl< aux::vector_tag<25> >
0746 {
0747     template< typename Vector, typename T > struct apply
0748     {
0749         typedef vector26<
0750               T
0751               ,
0752               typename Vector::item0, typename Vector::item1
0753             , typename Vector::item2, typename Vector::item3
0754             , typename Vector::item4, typename Vector::item5
0755             , typename Vector::item6, typename Vector::item7
0756             , typename Vector::item8, typename Vector::item9
0757             , typename Vector::item10, typename Vector::item11
0758             , typename Vector::item12, typename Vector::item13
0759             , typename Vector::item14, typename Vector::item15
0760             , typename Vector::item16, typename Vector::item17
0761             , typename Vector::item18, typename Vector::item19
0762             , typename Vector::item20, typename Vector::item21
0763             , typename Vector::item22, typename Vector::item23
0764             , typename Vector::item24
0765             > type;
0766     };
0767 };
0768 
0769 template<>
0770 struct pop_front_impl< aux::vector_tag<26> >
0771 {
0772     template< typename Vector > struct apply
0773     {
0774         typedef vector25<
0775               typename Vector::item1, typename Vector::item2
0776             , typename Vector::item3, typename Vector::item4
0777             , typename Vector::item5, typename Vector::item6
0778             , typename Vector::item7, typename Vector::item8
0779             , typename Vector::item9, typename Vector::item10
0780             , typename Vector::item11, typename Vector::item12
0781             , typename Vector::item13, typename Vector::item14
0782             , typename Vector::item15, typename Vector::item16
0783             , typename Vector::item17, typename Vector::item18
0784             , typename Vector::item19, typename Vector::item20
0785             , typename Vector::item21, typename Vector::item22
0786             , typename Vector::item23, typename Vector::item24
0787             , typename Vector::item25
0788             > type;
0789     };
0790 };
0791 
0792 template<>
0793 struct push_back_impl< aux::vector_tag<25> >
0794 {
0795     template< typename Vector, typename T > struct apply
0796     {
0797         typedef vector26<
0798               typename Vector::item0, typename Vector::item1
0799             , typename Vector::item2, typename Vector::item3
0800             , typename Vector::item4, typename Vector::item5
0801             , typename Vector::item6, typename Vector::item7
0802             , typename Vector::item8, typename Vector::item9
0803             , typename Vector::item10, typename Vector::item11
0804             , typename Vector::item12, typename Vector::item13
0805             , typename Vector::item14, typename Vector::item15
0806             , typename Vector::item16, typename Vector::item17
0807             , typename Vector::item18, typename Vector::item19
0808             , typename Vector::item20, typename Vector::item21
0809             , typename Vector::item22, typename Vector::item23
0810             , typename Vector::item24
0811               ,
0812               T
0813             > type;
0814     };
0815 };
0816 
0817 template<>
0818 struct pop_back_impl< aux::vector_tag<26> >
0819 {
0820     template< typename Vector > struct apply
0821     {
0822         typedef vector25<
0823               typename Vector::item0, typename Vector::item1
0824             , typename Vector::item2, typename Vector::item3
0825             , typename Vector::item4, typename Vector::item5
0826             , typename Vector::item6, typename Vector::item7
0827             , typename Vector::item8, typename Vector::item9
0828             , typename Vector::item10, typename Vector::item11
0829             , typename Vector::item12, typename Vector::item13
0830             , typename Vector::item14, typename Vector::item15
0831             , typename Vector::item16, typename Vector::item17
0832             , typename Vector::item18, typename Vector::item19
0833             , typename Vector::item20, typename Vector::item21
0834             , typename Vector::item22, typename Vector::item23
0835             , typename Vector::item24
0836             > type;
0837     };
0838 };
0839 
0840 template< typename V >
0841 struct v_at< V,26 >
0842 {
0843     typedef typename V::item26 type;
0844 };
0845 
0846 template<
0847       typename T0, typename T1, typename T2, typename T3, typename T4
0848     , typename T5, typename T6, typename T7, typename T8, typename T9
0849     , typename T10, typename T11, typename T12, typename T13, typename T14
0850     , typename T15, typename T16, typename T17, typename T18, typename T19
0851     , typename T20, typename T21, typename T22, typename T23, typename T24
0852     , typename T25, typename T26
0853     >
0854 struct vector27
0855 {
0856     typedef aux::vector_tag<27> tag;
0857     typedef vector27 type;
0858     typedef T0 item0;
0859     typedef T1 item1;
0860     typedef T2 item2;
0861     typedef T3 item3;
0862     typedef T4 item4;
0863     typedef T5 item5;
0864     typedef T6 item6;
0865     typedef T7 item7;
0866     typedef T8 item8;
0867     typedef T9 item9;
0868     typedef T10 item10;
0869     typedef T11 item11;
0870     typedef T12 item12;
0871     typedef T13 item13;
0872     typedef T14 item14;
0873     typedef T15 item15;
0874     typedef T16 item16;
0875     typedef T17 item17;
0876     typedef T18 item18;
0877     typedef T19 item19;
0878     typedef T20 item20;
0879     typedef T21 item21;
0880     typedef T22 item22;
0881     typedef T23 item23;
0882     typedef T24 item24;
0883     typedef T25 item25;
0884     typedef T26 item26;
0885     
0886 
0887     typedef void_ item27;
0888     typedef T26 back;
0889     typedef v_iter< type,0 > begin;
0890     typedef v_iter< type,27 > end;
0891 };
0892 
0893 template<>
0894 struct push_front_impl< aux::vector_tag<26> >
0895 {
0896     template< typename Vector, typename T > struct apply
0897     {
0898         typedef vector27<
0899               T
0900               ,
0901               typename Vector::item0, typename Vector::item1
0902             , typename Vector::item2, typename Vector::item3
0903             , typename Vector::item4, typename Vector::item5
0904             , typename Vector::item6, typename Vector::item7
0905             , typename Vector::item8, typename Vector::item9
0906             , typename Vector::item10, typename Vector::item11
0907             , typename Vector::item12, typename Vector::item13
0908             , typename Vector::item14, typename Vector::item15
0909             , typename Vector::item16, typename Vector::item17
0910             , typename Vector::item18, typename Vector::item19
0911             , typename Vector::item20, typename Vector::item21
0912             , typename Vector::item22, typename Vector::item23
0913             , typename Vector::item24, typename Vector::item25
0914             > type;
0915     };
0916 };
0917 
0918 template<>
0919 struct pop_front_impl< aux::vector_tag<27> >
0920 {
0921     template< typename Vector > struct apply
0922     {
0923         typedef vector26<
0924               typename Vector::item1, typename Vector::item2
0925             , typename Vector::item3, typename Vector::item4
0926             , typename Vector::item5, typename Vector::item6
0927             , typename Vector::item7, typename Vector::item8
0928             , typename Vector::item9, typename Vector::item10
0929             , typename Vector::item11, typename Vector::item12
0930             , typename Vector::item13, typename Vector::item14
0931             , typename Vector::item15, typename Vector::item16
0932             , typename Vector::item17, typename Vector::item18
0933             , typename Vector::item19, typename Vector::item20
0934             , typename Vector::item21, typename Vector::item22
0935             , typename Vector::item23, typename Vector::item24
0936             , typename Vector::item25, typename Vector::item26
0937             > type;
0938     };
0939 };
0940 
0941 template<>
0942 struct push_back_impl< aux::vector_tag<26> >
0943 {
0944     template< typename Vector, typename T > struct apply
0945     {
0946         typedef vector27<
0947               typename Vector::item0, typename Vector::item1
0948             , typename Vector::item2, typename Vector::item3
0949             , typename Vector::item4, typename Vector::item5
0950             , typename Vector::item6, typename Vector::item7
0951             , typename Vector::item8, typename Vector::item9
0952             , typename Vector::item10, typename Vector::item11
0953             , typename Vector::item12, typename Vector::item13
0954             , typename Vector::item14, typename Vector::item15
0955             , typename Vector::item16, typename Vector::item17
0956             , typename Vector::item18, typename Vector::item19
0957             , typename Vector::item20, typename Vector::item21
0958             , typename Vector::item22, typename Vector::item23
0959             , typename Vector::item24, typename Vector::item25
0960               ,
0961               T
0962             > type;
0963     };
0964 };
0965 
0966 template<>
0967 struct pop_back_impl< aux::vector_tag<27> >
0968 {
0969     template< typename Vector > struct apply
0970     {
0971         typedef vector26<
0972               typename Vector::item0, typename Vector::item1
0973             , typename Vector::item2, typename Vector::item3
0974             , typename Vector::item4, typename Vector::item5
0975             , typename Vector::item6, typename Vector::item7
0976             , typename Vector::item8, typename Vector::item9
0977             , typename Vector::item10, typename Vector::item11
0978             , typename Vector::item12, typename Vector::item13
0979             , typename Vector::item14, typename Vector::item15
0980             , typename Vector::item16, typename Vector::item17
0981             , typename Vector::item18, typename Vector::item19
0982             , typename Vector::item20, typename Vector::item21
0983             , typename Vector::item22, typename Vector::item23
0984             , typename Vector::item24, typename Vector::item25
0985             > type;
0986     };
0987 };
0988 
0989 template< typename V >
0990 struct v_at< V,27 >
0991 {
0992     typedef typename V::item27 type;
0993 };
0994 
0995 template<
0996       typename T0, typename T1, typename T2, typename T3, typename T4
0997     , typename T5, typename T6, typename T7, typename T8, typename T9
0998     , typename T10, typename T11, typename T12, typename T13, typename T14
0999     , typename T15, typename T16, typename T17, typename T18, typename T19
1000     , typename T20, typename T21, typename T22, typename T23, typename T24
1001     , typename T25, typename T26, typename T27
1002     >
1003 struct vector28
1004 {
1005     typedef aux::vector_tag<28> tag;
1006     typedef vector28 type;
1007     typedef T0 item0;
1008     typedef T1 item1;
1009     typedef T2 item2;
1010     typedef T3 item3;
1011     typedef T4 item4;
1012     typedef T5 item5;
1013     typedef T6 item6;
1014     typedef T7 item7;
1015     typedef T8 item8;
1016     typedef T9 item9;
1017     typedef T10 item10;
1018     typedef T11 item11;
1019     typedef T12 item12;
1020     typedef T13 item13;
1021     typedef T14 item14;
1022     typedef T15 item15;
1023     typedef T16 item16;
1024     typedef T17 item17;
1025     typedef T18 item18;
1026     typedef T19 item19;
1027     typedef T20 item20;
1028     typedef T21 item21;
1029     typedef T22 item22;
1030     typedef T23 item23;
1031     typedef T24 item24;
1032     typedef T25 item25;
1033     typedef T26 item26;
1034     typedef T27 item27;
1035     
1036 
1037     typedef void_ item28;
1038     typedef T27 back;
1039     typedef v_iter< type,0 > begin;
1040     typedef v_iter< type,28 > end;
1041 };
1042 
1043 template<>
1044 struct push_front_impl< aux::vector_tag<27> >
1045 {
1046     template< typename Vector, typename T > struct apply
1047     {
1048         typedef vector28<
1049               T
1050               ,
1051               typename Vector::item0, typename Vector::item1
1052             , typename Vector::item2, typename Vector::item3
1053             , typename Vector::item4, typename Vector::item5
1054             , typename Vector::item6, typename Vector::item7
1055             , typename Vector::item8, typename Vector::item9
1056             , typename Vector::item10, typename Vector::item11
1057             , typename Vector::item12, typename Vector::item13
1058             , typename Vector::item14, typename Vector::item15
1059             , typename Vector::item16, typename Vector::item17
1060             , typename Vector::item18, typename Vector::item19
1061             , typename Vector::item20, typename Vector::item21
1062             , typename Vector::item22, typename Vector::item23
1063             , typename Vector::item24, typename Vector::item25
1064             , typename Vector::item26
1065             > type;
1066     };
1067 };
1068 
1069 template<>
1070 struct pop_front_impl< aux::vector_tag<28> >
1071 {
1072     template< typename Vector > struct apply
1073     {
1074         typedef vector27<
1075               typename Vector::item1, typename Vector::item2
1076             , typename Vector::item3, typename Vector::item4
1077             , typename Vector::item5, typename Vector::item6
1078             , typename Vector::item7, typename Vector::item8
1079             , typename Vector::item9, typename Vector::item10
1080             , typename Vector::item11, typename Vector::item12
1081             , typename Vector::item13, typename Vector::item14
1082             , typename Vector::item15, typename Vector::item16
1083             , typename Vector::item17, typename Vector::item18
1084             , typename Vector::item19, typename Vector::item20
1085             , typename Vector::item21, typename Vector::item22
1086             , typename Vector::item23, typename Vector::item24
1087             , typename Vector::item25, typename Vector::item26
1088             , typename Vector::item27
1089             > type;
1090     };
1091 };
1092 
1093 template<>
1094 struct push_back_impl< aux::vector_tag<27> >
1095 {
1096     template< typename Vector, typename T > struct apply
1097     {
1098         typedef vector28<
1099               typename Vector::item0, typename Vector::item1
1100             , typename Vector::item2, typename Vector::item3
1101             , typename Vector::item4, typename Vector::item5
1102             , typename Vector::item6, typename Vector::item7
1103             , typename Vector::item8, typename Vector::item9
1104             , typename Vector::item10, typename Vector::item11
1105             , typename Vector::item12, typename Vector::item13
1106             , typename Vector::item14, typename Vector::item15
1107             , typename Vector::item16, typename Vector::item17
1108             , typename Vector::item18, typename Vector::item19
1109             , typename Vector::item20, typename Vector::item21
1110             , typename Vector::item22, typename Vector::item23
1111             , typename Vector::item24, typename Vector::item25
1112             , typename Vector::item26
1113               ,
1114               T
1115             > type;
1116     };
1117 };
1118 
1119 template<>
1120 struct pop_back_impl< aux::vector_tag<28> >
1121 {
1122     template< typename Vector > struct apply
1123     {
1124         typedef vector27<
1125               typename Vector::item0, typename Vector::item1
1126             , typename Vector::item2, typename Vector::item3
1127             , typename Vector::item4, typename Vector::item5
1128             , typename Vector::item6, typename Vector::item7
1129             , typename Vector::item8, typename Vector::item9
1130             , typename Vector::item10, typename Vector::item11
1131             , typename Vector::item12, typename Vector::item13
1132             , typename Vector::item14, typename Vector::item15
1133             , typename Vector::item16, typename Vector::item17
1134             , typename Vector::item18, typename Vector::item19
1135             , typename Vector::item20, typename Vector::item21
1136             , typename Vector::item22, typename Vector::item23
1137             , typename Vector::item24, typename Vector::item25
1138             , typename Vector::item26
1139             > type;
1140     };
1141 };
1142 
1143 template< typename V >
1144 struct v_at< V,28 >
1145 {
1146     typedef typename V::item28 type;
1147 };
1148 
1149 template<
1150       typename T0, typename T1, typename T2, typename T3, typename T4
1151     , typename T5, typename T6, typename T7, typename T8, typename T9
1152     , typename T10, typename T11, typename T12, typename T13, typename T14
1153     , typename T15, typename T16, typename T17, typename T18, typename T19
1154     , typename T20, typename T21, typename T22, typename T23, typename T24
1155     , typename T25, typename T26, typename T27, typename T28
1156     >
1157 struct vector29
1158 {
1159     typedef aux::vector_tag<29> tag;
1160     typedef vector29 type;
1161     typedef T0 item0;
1162     typedef T1 item1;
1163     typedef T2 item2;
1164     typedef T3 item3;
1165     typedef T4 item4;
1166     typedef T5 item5;
1167     typedef T6 item6;
1168     typedef T7 item7;
1169     typedef T8 item8;
1170     typedef T9 item9;
1171     typedef T10 item10;
1172     typedef T11 item11;
1173     typedef T12 item12;
1174     typedef T13 item13;
1175     typedef T14 item14;
1176     typedef T15 item15;
1177     typedef T16 item16;
1178     typedef T17 item17;
1179     typedef T18 item18;
1180     typedef T19 item19;
1181     typedef T20 item20;
1182     typedef T21 item21;
1183     typedef T22 item22;
1184     typedef T23 item23;
1185     typedef T24 item24;
1186     typedef T25 item25;
1187     typedef T26 item26;
1188     typedef T27 item27;
1189     typedef T28 item28;
1190     
1191 
1192     typedef void_ item29;
1193     typedef T28 back;
1194     typedef v_iter< type,0 > begin;
1195     typedef v_iter< type,29 > end;
1196 };
1197 
1198 template<>
1199 struct push_front_impl< aux::vector_tag<28> >
1200 {
1201     template< typename Vector, typename T > struct apply
1202     {
1203         typedef vector29<
1204               T
1205               ,
1206               typename Vector::item0, typename Vector::item1
1207             , typename Vector::item2, typename Vector::item3
1208             , typename Vector::item4, typename Vector::item5
1209             , typename Vector::item6, typename Vector::item7
1210             , typename Vector::item8, typename Vector::item9
1211             , typename Vector::item10, typename Vector::item11
1212             , typename Vector::item12, typename Vector::item13
1213             , typename Vector::item14, typename Vector::item15
1214             , typename Vector::item16, typename Vector::item17
1215             , typename Vector::item18, typename Vector::item19
1216             , typename Vector::item20, typename Vector::item21
1217             , typename Vector::item22, typename Vector::item23
1218             , typename Vector::item24, typename Vector::item25
1219             , typename Vector::item26, typename Vector::item27
1220             > type;
1221     };
1222 };
1223 
1224 template<>
1225 struct pop_front_impl< aux::vector_tag<29> >
1226 {
1227     template< typename Vector > struct apply
1228     {
1229         typedef vector28<
1230               typename Vector::item1, typename Vector::item2
1231             , typename Vector::item3, typename Vector::item4
1232             , typename Vector::item5, typename Vector::item6
1233             , typename Vector::item7, typename Vector::item8
1234             , typename Vector::item9, typename Vector::item10
1235             , typename Vector::item11, typename Vector::item12
1236             , typename Vector::item13, typename Vector::item14
1237             , typename Vector::item15, typename Vector::item16
1238             , typename Vector::item17, typename Vector::item18
1239             , typename Vector::item19, typename Vector::item20
1240             , typename Vector::item21, typename Vector::item22
1241             , typename Vector::item23, typename Vector::item24
1242             , typename Vector::item25, typename Vector::item26
1243             , typename Vector::item27, typename Vector::item28
1244             > type;
1245     };
1246 };
1247 
1248 template<>
1249 struct push_back_impl< aux::vector_tag<28> >
1250 {
1251     template< typename Vector, typename T > struct apply
1252     {
1253         typedef vector29<
1254               typename Vector::item0, typename Vector::item1
1255             , typename Vector::item2, typename Vector::item3
1256             , typename Vector::item4, typename Vector::item5
1257             , typename Vector::item6, typename Vector::item7
1258             , typename Vector::item8, typename Vector::item9
1259             , typename Vector::item10, typename Vector::item11
1260             , typename Vector::item12, typename Vector::item13
1261             , typename Vector::item14, typename Vector::item15
1262             , typename Vector::item16, typename Vector::item17
1263             , typename Vector::item18, typename Vector::item19
1264             , typename Vector::item20, typename Vector::item21
1265             , typename Vector::item22, typename Vector::item23
1266             , typename Vector::item24, typename Vector::item25
1267             , typename Vector::item26, typename Vector::item27
1268               ,
1269               T
1270             > type;
1271     };
1272 };
1273 
1274 template<>
1275 struct pop_back_impl< aux::vector_tag<29> >
1276 {
1277     template< typename Vector > struct apply
1278     {
1279         typedef vector28<
1280               typename Vector::item0, typename Vector::item1
1281             , typename Vector::item2, typename Vector::item3
1282             , typename Vector::item4, typename Vector::item5
1283             , typename Vector::item6, typename Vector::item7
1284             , typename Vector::item8, typename Vector::item9
1285             , typename Vector::item10, typename Vector::item11
1286             , typename Vector::item12, typename Vector::item13
1287             , typename Vector::item14, typename Vector::item15
1288             , typename Vector::item16, typename Vector::item17
1289             , typename Vector::item18, typename Vector::item19
1290             , typename Vector::item20, typename Vector::item21
1291             , typename Vector::item22, typename Vector::item23
1292             , typename Vector::item24, typename Vector::item25
1293             , typename Vector::item26, typename Vector::item27
1294             > type;
1295     };
1296 };
1297 
1298 template< typename V >
1299 struct v_at< V,29 >
1300 {
1301     typedef typename V::item29 type;
1302 };
1303 
1304 template<
1305       typename T0, typename T1, typename T2, typename T3, typename T4
1306     , typename T5, typename T6, typename T7, typename T8, typename T9
1307     , typename T10, typename T11, typename T12, typename T13, typename T14
1308     , typename T15, typename T16, typename T17, typename T18, typename T19
1309     , typename T20, typename T21, typename T22, typename T23, typename T24
1310     , typename T25, typename T26, typename T27, typename T28, typename T29
1311     >
1312 struct vector30
1313 {
1314     typedef aux::vector_tag<30> tag;
1315     typedef vector30 type;
1316     typedef T0 item0;
1317     typedef T1 item1;
1318     typedef T2 item2;
1319     typedef T3 item3;
1320     typedef T4 item4;
1321     typedef T5 item5;
1322     typedef T6 item6;
1323     typedef T7 item7;
1324     typedef T8 item8;
1325     typedef T9 item9;
1326     typedef T10 item10;
1327     typedef T11 item11;
1328     typedef T12 item12;
1329     typedef T13 item13;
1330     typedef T14 item14;
1331     typedef T15 item15;
1332     typedef T16 item16;
1333     typedef T17 item17;
1334     typedef T18 item18;
1335     typedef T19 item19;
1336     typedef T20 item20;
1337     typedef T21 item21;
1338     typedef T22 item22;
1339     typedef T23 item23;
1340     typedef T24 item24;
1341     typedef T25 item25;
1342     typedef T26 item26;
1343     typedef T27 item27;
1344     typedef T28 item28;
1345     typedef T29 item29;
1346     
1347 
1348     typedef void_ item30;
1349     typedef T29 back;
1350     typedef v_iter< type,0 > begin;
1351     typedef v_iter< type,30 > end;
1352 };
1353 
1354 template<>
1355 struct push_front_impl< aux::vector_tag<29> >
1356 {
1357     template< typename Vector, typename T > struct apply
1358     {
1359         typedef vector30<
1360               T
1361               ,
1362               typename Vector::item0, typename Vector::item1
1363             , typename Vector::item2, typename Vector::item3
1364             , typename Vector::item4, typename Vector::item5
1365             , typename Vector::item6, typename Vector::item7
1366             , typename Vector::item8, typename Vector::item9
1367             , typename Vector::item10, typename Vector::item11
1368             , typename Vector::item12, typename Vector::item13
1369             , typename Vector::item14, typename Vector::item15
1370             , typename Vector::item16, typename Vector::item17
1371             , typename Vector::item18, typename Vector::item19
1372             , typename Vector::item20, typename Vector::item21
1373             , typename Vector::item22, typename Vector::item23
1374             , typename Vector::item24, typename Vector::item25
1375             , typename Vector::item26, typename Vector::item27
1376             , typename Vector::item28
1377             > type;
1378     };
1379 };
1380 
1381 template<>
1382 struct pop_front_impl< aux::vector_tag<30> >
1383 {
1384     template< typename Vector > struct apply
1385     {
1386         typedef vector29<
1387               typename Vector::item1, typename Vector::item2
1388             , typename Vector::item3, typename Vector::item4
1389             , typename Vector::item5, typename Vector::item6
1390             , typename Vector::item7, typename Vector::item8
1391             , typename Vector::item9, typename Vector::item10
1392             , typename Vector::item11, typename Vector::item12
1393             , typename Vector::item13, typename Vector::item14
1394             , typename Vector::item15, typename Vector::item16
1395             , typename Vector::item17, typename Vector::item18
1396             , typename Vector::item19, typename Vector::item20
1397             , typename Vector::item21, typename Vector::item22
1398             , typename Vector::item23, typename Vector::item24
1399             , typename Vector::item25, typename Vector::item26
1400             , typename Vector::item27, typename Vector::item28
1401             , typename Vector::item29
1402             > type;
1403     };
1404 };
1405 
1406 template<>
1407 struct push_back_impl< aux::vector_tag<29> >
1408 {
1409     template< typename Vector, typename T > struct apply
1410     {
1411         typedef vector30<
1412               typename Vector::item0, typename Vector::item1
1413             , typename Vector::item2, typename Vector::item3
1414             , typename Vector::item4, typename Vector::item5
1415             , typename Vector::item6, typename Vector::item7
1416             , typename Vector::item8, typename Vector::item9
1417             , typename Vector::item10, typename Vector::item11
1418             , typename Vector::item12, typename Vector::item13
1419             , typename Vector::item14, typename Vector::item15
1420             , typename Vector::item16, typename Vector::item17
1421             , typename Vector::item18, typename Vector::item19
1422             , typename Vector::item20, typename Vector::item21
1423             , typename Vector::item22, typename Vector::item23
1424             , typename Vector::item24, typename Vector::item25
1425             , typename Vector::item26, typename Vector::item27
1426             , typename Vector::item28
1427               ,
1428               T
1429             > type;
1430     };
1431 };
1432 
1433 template<>
1434 struct pop_back_impl< aux::vector_tag<30> >
1435 {
1436     template< typename Vector > struct apply
1437     {
1438         typedef vector29<
1439               typename Vector::item0, typename Vector::item1
1440             , typename Vector::item2, typename Vector::item3
1441             , typename Vector::item4, typename Vector::item5
1442             , typename Vector::item6, typename Vector::item7
1443             , typename Vector::item8, typename Vector::item9
1444             , typename Vector::item10, typename Vector::item11
1445             , typename Vector::item12, typename Vector::item13
1446             , typename Vector::item14, typename Vector::item15
1447             , typename Vector::item16, typename Vector::item17
1448             , typename Vector::item18, typename Vector::item19
1449             , typename Vector::item20, typename Vector::item21
1450             , typename Vector::item22, typename Vector::item23
1451             , typename Vector::item24, typename Vector::item25
1452             , typename Vector::item26, typename Vector::item27
1453             , typename Vector::item28
1454             > type;
1455     };
1456 };
1457 
1458 template< typename V >
1459 struct v_at< V,30 >
1460 {
1461     typedef typename V::item30 type;
1462 };
1463 
1464 }}