File indexing completed on 2025-01-18 09:41:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
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 }}