File indexing completed on 2025-01-18 09:41:46
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 namespace aux {
0139 template<> struct v_at_impl<21>
0140 {
0141 template< typename V_ > struct result_
0142 {
0143 typedef typename V_::item21 type;
0144 };
0145 };
0146
0147 }
0148
0149 template<>
0150 struct at_impl< aux::vector_tag<21> >
0151 {
0152 template< typename V_, typename N > struct apply
0153 {
0154 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0155 ::template result_<V_>::type type;
0156 };
0157 };
0158
0159 template<>
0160 struct front_impl< aux::vector_tag<21> >
0161 {
0162 template< typename Vector > struct apply
0163 {
0164 typedef typename Vector::item0 type;
0165 };
0166 };
0167
0168 template<>
0169 struct back_impl< aux::vector_tag<21> >
0170 {
0171 template< typename Vector > struct apply
0172 {
0173 typedef typename Vector::back type;
0174 };
0175 };
0176
0177 template<>
0178 struct empty_impl< aux::vector_tag<21> >
0179 {
0180 template< typename Vector > struct apply
0181 : false_
0182 {
0183 };
0184 };
0185
0186 template<>
0187 struct size_impl< aux::vector_tag<21> >
0188 {
0189 template< typename Vector > struct apply
0190 : long_<21>
0191 {
0192 };
0193 };
0194
0195 template<>
0196 struct O1_size_impl< aux::vector_tag<21> >
0197 : size_impl< aux::vector_tag<21> >
0198 {
0199 };
0200
0201 template<>
0202 struct clear_impl< aux::vector_tag<21> >
0203 {
0204 template< typename Vector > struct apply
0205 {
0206 typedef vector0<> type;
0207 };
0208 };
0209
0210 template<
0211 typename T0, typename T1, typename T2, typename T3, typename T4
0212 , typename T5, typename T6, typename T7, typename T8, typename T9
0213 , typename T10, typename T11, typename T12, typename T13, typename T14
0214 , typename T15, typename T16, typename T17, typename T18, typename T19
0215 , typename T20, typename T21
0216 >
0217 struct vector22
0218 {
0219 typedef aux::vector_tag<22> tag;
0220 typedef vector22 type;
0221 typedef T0 item0;
0222 typedef T1 item1;
0223 typedef T2 item2;
0224 typedef T3 item3;
0225 typedef T4 item4;
0226 typedef T5 item5;
0227 typedef T6 item6;
0228 typedef T7 item7;
0229 typedef T8 item8;
0230 typedef T9 item9;
0231 typedef T10 item10;
0232 typedef T11 item11;
0233 typedef T12 item12;
0234 typedef T13 item13;
0235 typedef T14 item14;
0236 typedef T15 item15;
0237 typedef T16 item16;
0238 typedef T17 item17;
0239 typedef T18 item18;
0240 typedef T19 item19;
0241 typedef T20 item20;
0242 typedef T21 item21;
0243
0244
0245 typedef void_ item22;
0246 typedef T21 back;
0247 typedef v_iter< type,0 > begin;
0248 typedef v_iter< type,22 > end;
0249 };
0250
0251 template<>
0252 struct push_front_impl< aux::vector_tag<21> >
0253 {
0254 template< typename Vector, typename T > struct apply
0255 {
0256 typedef vector22<
0257 T
0258 ,
0259 typename Vector::item0, typename Vector::item1
0260 , typename Vector::item2, typename Vector::item3
0261 , typename Vector::item4, typename Vector::item5
0262 , typename Vector::item6, typename Vector::item7
0263 , typename Vector::item8, typename Vector::item9
0264 , typename Vector::item10, typename Vector::item11
0265 , typename Vector::item12, typename Vector::item13
0266 , typename Vector::item14, typename Vector::item15
0267 , typename Vector::item16, typename Vector::item17
0268 , typename Vector::item18, typename Vector::item19
0269 , typename Vector::item20
0270 > type;
0271 };
0272 };
0273
0274 template<>
0275 struct pop_front_impl< aux::vector_tag<22> >
0276 {
0277 template< typename Vector > struct apply
0278 {
0279 typedef vector21<
0280 typename Vector::item1, typename Vector::item2
0281 , typename Vector::item3, typename Vector::item4
0282 , typename Vector::item5, typename Vector::item6
0283 , typename Vector::item7, typename Vector::item8
0284 , typename Vector::item9, typename Vector::item10
0285 , typename Vector::item11, typename Vector::item12
0286 , typename Vector::item13, typename Vector::item14
0287 , typename Vector::item15, typename Vector::item16
0288 , typename Vector::item17, typename Vector::item18
0289 , typename Vector::item19, typename Vector::item20
0290 , typename Vector::item21
0291 > type;
0292 };
0293 };
0294
0295 template<>
0296 struct push_back_impl< aux::vector_tag<21> >
0297 {
0298 template< typename Vector, typename T > struct apply
0299 {
0300 typedef vector22<
0301 typename Vector::item0, typename Vector::item1
0302 , typename Vector::item2, typename Vector::item3
0303 , typename Vector::item4, typename Vector::item5
0304 , typename Vector::item6, typename Vector::item7
0305 , typename Vector::item8, typename Vector::item9
0306 , typename Vector::item10, typename Vector::item11
0307 , typename Vector::item12, typename Vector::item13
0308 , typename Vector::item14, typename Vector::item15
0309 , typename Vector::item16, typename Vector::item17
0310 , typename Vector::item18, typename Vector::item19
0311 , typename Vector::item20
0312 ,
0313 T
0314 > type;
0315 };
0316 };
0317
0318 template<>
0319 struct pop_back_impl< aux::vector_tag<22> >
0320 {
0321 template< typename Vector > struct apply
0322 {
0323 typedef vector21<
0324 typename Vector::item0, typename Vector::item1
0325 , typename Vector::item2, typename Vector::item3
0326 , typename Vector::item4, typename Vector::item5
0327 , typename Vector::item6, typename Vector::item7
0328 , typename Vector::item8, typename Vector::item9
0329 , typename Vector::item10, typename Vector::item11
0330 , typename Vector::item12, typename Vector::item13
0331 , typename Vector::item14, typename Vector::item15
0332 , typename Vector::item16, typename Vector::item17
0333 , typename Vector::item18, typename Vector::item19
0334 , typename Vector::item20
0335 > type;
0336 };
0337 };
0338
0339 namespace aux {
0340 template<> struct v_at_impl<22>
0341 {
0342 template< typename V_ > struct result_
0343 {
0344 typedef typename V_::item22 type;
0345 };
0346 };
0347
0348 }
0349
0350 template<>
0351 struct at_impl< aux::vector_tag<22> >
0352 {
0353 template< typename V_, typename N > struct apply
0354 {
0355 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0356 ::template result_<V_>::type type;
0357 };
0358 };
0359
0360 template<>
0361 struct front_impl< aux::vector_tag<22> >
0362 {
0363 template< typename Vector > struct apply
0364 {
0365 typedef typename Vector::item0 type;
0366 };
0367 };
0368
0369 template<>
0370 struct back_impl< aux::vector_tag<22> >
0371 {
0372 template< typename Vector > struct apply
0373 {
0374 typedef typename Vector::back type;
0375 };
0376 };
0377
0378 template<>
0379 struct empty_impl< aux::vector_tag<22> >
0380 {
0381 template< typename Vector > struct apply
0382 : false_
0383 {
0384 };
0385 };
0386
0387 template<>
0388 struct size_impl< aux::vector_tag<22> >
0389 {
0390 template< typename Vector > struct apply
0391 : long_<22>
0392 {
0393 };
0394 };
0395
0396 template<>
0397 struct O1_size_impl< aux::vector_tag<22> >
0398 : size_impl< aux::vector_tag<22> >
0399 {
0400 };
0401
0402 template<>
0403 struct clear_impl< aux::vector_tag<22> >
0404 {
0405 template< typename Vector > struct apply
0406 {
0407 typedef vector0<> type;
0408 };
0409 };
0410
0411 template<
0412 typename T0, typename T1, typename T2, typename T3, typename T4
0413 , typename T5, typename T6, typename T7, typename T8, typename T9
0414 , typename T10, typename T11, typename T12, typename T13, typename T14
0415 , typename T15, typename T16, typename T17, typename T18, typename T19
0416 , typename T20, typename T21, typename T22
0417 >
0418 struct vector23
0419 {
0420 typedef aux::vector_tag<23> tag;
0421 typedef vector23 type;
0422 typedef T0 item0;
0423 typedef T1 item1;
0424 typedef T2 item2;
0425 typedef T3 item3;
0426 typedef T4 item4;
0427 typedef T5 item5;
0428 typedef T6 item6;
0429 typedef T7 item7;
0430 typedef T8 item8;
0431 typedef T9 item9;
0432 typedef T10 item10;
0433 typedef T11 item11;
0434 typedef T12 item12;
0435 typedef T13 item13;
0436 typedef T14 item14;
0437 typedef T15 item15;
0438 typedef T16 item16;
0439 typedef T17 item17;
0440 typedef T18 item18;
0441 typedef T19 item19;
0442 typedef T20 item20;
0443 typedef T21 item21;
0444 typedef T22 item22;
0445
0446
0447 typedef void_ item23;
0448 typedef T22 back;
0449 typedef v_iter< type,0 > begin;
0450 typedef v_iter< type,23 > end;
0451 };
0452
0453 template<>
0454 struct push_front_impl< aux::vector_tag<22> >
0455 {
0456 template< typename Vector, typename T > struct apply
0457 {
0458 typedef vector23<
0459 T
0460 ,
0461 typename Vector::item0, typename Vector::item1
0462 , typename Vector::item2, typename Vector::item3
0463 , typename Vector::item4, typename Vector::item5
0464 , typename Vector::item6, typename Vector::item7
0465 , typename Vector::item8, typename Vector::item9
0466 , typename Vector::item10, typename Vector::item11
0467 , typename Vector::item12, typename Vector::item13
0468 , typename Vector::item14, typename Vector::item15
0469 , typename Vector::item16, typename Vector::item17
0470 , typename Vector::item18, typename Vector::item19
0471 , typename Vector::item20, typename Vector::item21
0472 > type;
0473 };
0474 };
0475
0476 template<>
0477 struct pop_front_impl< aux::vector_tag<23> >
0478 {
0479 template< typename Vector > struct apply
0480 {
0481 typedef vector22<
0482 typename Vector::item1, typename Vector::item2
0483 , typename Vector::item3, typename Vector::item4
0484 , typename Vector::item5, typename Vector::item6
0485 , typename Vector::item7, typename Vector::item8
0486 , typename Vector::item9, typename Vector::item10
0487 , typename Vector::item11, typename Vector::item12
0488 , typename Vector::item13, typename Vector::item14
0489 , typename Vector::item15, typename Vector::item16
0490 , typename Vector::item17, typename Vector::item18
0491 , typename Vector::item19, typename Vector::item20
0492 , typename Vector::item21, typename Vector::item22
0493 > type;
0494 };
0495 };
0496
0497 template<>
0498 struct push_back_impl< aux::vector_tag<22> >
0499 {
0500 template< typename Vector, typename T > struct apply
0501 {
0502 typedef vector23<
0503 typename Vector::item0, typename Vector::item1
0504 , typename Vector::item2, typename Vector::item3
0505 , typename Vector::item4, typename Vector::item5
0506 , typename Vector::item6, typename Vector::item7
0507 , typename Vector::item8, typename Vector::item9
0508 , typename Vector::item10, typename Vector::item11
0509 , typename Vector::item12, typename Vector::item13
0510 , typename Vector::item14, typename Vector::item15
0511 , typename Vector::item16, typename Vector::item17
0512 , typename Vector::item18, typename Vector::item19
0513 , typename Vector::item20, typename Vector::item21
0514 ,
0515 T
0516 > type;
0517 };
0518 };
0519
0520 template<>
0521 struct pop_back_impl< aux::vector_tag<23> >
0522 {
0523 template< typename Vector > struct apply
0524 {
0525 typedef vector22<
0526 typename Vector::item0, typename Vector::item1
0527 , typename Vector::item2, typename Vector::item3
0528 , typename Vector::item4, typename Vector::item5
0529 , typename Vector::item6, typename Vector::item7
0530 , typename Vector::item8, typename Vector::item9
0531 , typename Vector::item10, typename Vector::item11
0532 , typename Vector::item12, typename Vector::item13
0533 , typename Vector::item14, typename Vector::item15
0534 , typename Vector::item16, typename Vector::item17
0535 , typename Vector::item18, typename Vector::item19
0536 , typename Vector::item20, typename Vector::item21
0537 > type;
0538 };
0539 };
0540
0541 namespace aux {
0542 template<> struct v_at_impl<23>
0543 {
0544 template< typename V_ > struct result_
0545 {
0546 typedef typename V_::item23 type;
0547 };
0548 };
0549
0550 }
0551
0552 template<>
0553 struct at_impl< aux::vector_tag<23> >
0554 {
0555 template< typename V_, typename N > struct apply
0556 {
0557 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0558 ::template result_<V_>::type type;
0559 };
0560 };
0561
0562 template<>
0563 struct front_impl< aux::vector_tag<23> >
0564 {
0565 template< typename Vector > struct apply
0566 {
0567 typedef typename Vector::item0 type;
0568 };
0569 };
0570
0571 template<>
0572 struct back_impl< aux::vector_tag<23> >
0573 {
0574 template< typename Vector > struct apply
0575 {
0576 typedef typename Vector::back type;
0577 };
0578 };
0579
0580 template<>
0581 struct empty_impl< aux::vector_tag<23> >
0582 {
0583 template< typename Vector > struct apply
0584 : false_
0585 {
0586 };
0587 };
0588
0589 template<>
0590 struct size_impl< aux::vector_tag<23> >
0591 {
0592 template< typename Vector > struct apply
0593 : long_<23>
0594 {
0595 };
0596 };
0597
0598 template<>
0599 struct O1_size_impl< aux::vector_tag<23> >
0600 : size_impl< aux::vector_tag<23> >
0601 {
0602 };
0603
0604 template<>
0605 struct clear_impl< aux::vector_tag<23> >
0606 {
0607 template< typename Vector > struct apply
0608 {
0609 typedef vector0<> type;
0610 };
0611 };
0612
0613 template<
0614 typename T0, typename T1, typename T2, typename T3, typename T4
0615 , typename T5, typename T6, typename T7, typename T8, typename T9
0616 , typename T10, typename T11, typename T12, typename T13, typename T14
0617 , typename T15, typename T16, typename T17, typename T18, typename T19
0618 , typename T20, typename T21, typename T22, typename T23
0619 >
0620 struct vector24
0621 {
0622 typedef aux::vector_tag<24> tag;
0623 typedef vector24 type;
0624 typedef T0 item0;
0625 typedef T1 item1;
0626 typedef T2 item2;
0627 typedef T3 item3;
0628 typedef T4 item4;
0629 typedef T5 item5;
0630 typedef T6 item6;
0631 typedef T7 item7;
0632 typedef T8 item8;
0633 typedef T9 item9;
0634 typedef T10 item10;
0635 typedef T11 item11;
0636 typedef T12 item12;
0637 typedef T13 item13;
0638 typedef T14 item14;
0639 typedef T15 item15;
0640 typedef T16 item16;
0641 typedef T17 item17;
0642 typedef T18 item18;
0643 typedef T19 item19;
0644 typedef T20 item20;
0645 typedef T21 item21;
0646 typedef T22 item22;
0647 typedef T23 item23;
0648
0649
0650 typedef void_ item24;
0651 typedef T23 back;
0652 typedef v_iter< type,0 > begin;
0653 typedef v_iter< type,24 > end;
0654 };
0655
0656 template<>
0657 struct push_front_impl< aux::vector_tag<23> >
0658 {
0659 template< typename Vector, typename T > struct apply
0660 {
0661 typedef vector24<
0662 T
0663 ,
0664 typename Vector::item0, typename Vector::item1
0665 , typename Vector::item2, typename Vector::item3
0666 , typename Vector::item4, typename Vector::item5
0667 , typename Vector::item6, typename Vector::item7
0668 , typename Vector::item8, typename Vector::item9
0669 , typename Vector::item10, typename Vector::item11
0670 , typename Vector::item12, typename Vector::item13
0671 , typename Vector::item14, typename Vector::item15
0672 , typename Vector::item16, typename Vector::item17
0673 , typename Vector::item18, typename Vector::item19
0674 , typename Vector::item20, typename Vector::item21
0675 , typename Vector::item22
0676 > type;
0677 };
0678 };
0679
0680 template<>
0681 struct pop_front_impl< aux::vector_tag<24> >
0682 {
0683 template< typename Vector > struct apply
0684 {
0685 typedef vector23<
0686 typename Vector::item1, typename Vector::item2
0687 , typename Vector::item3, typename Vector::item4
0688 , typename Vector::item5, typename Vector::item6
0689 , typename Vector::item7, typename Vector::item8
0690 , typename Vector::item9, typename Vector::item10
0691 , typename Vector::item11, typename Vector::item12
0692 , typename Vector::item13, typename Vector::item14
0693 , typename Vector::item15, typename Vector::item16
0694 , typename Vector::item17, typename Vector::item18
0695 , typename Vector::item19, typename Vector::item20
0696 , typename Vector::item21, typename Vector::item22
0697 , typename Vector::item23
0698 > type;
0699 };
0700 };
0701
0702 template<>
0703 struct push_back_impl< aux::vector_tag<23> >
0704 {
0705 template< typename Vector, typename T > struct apply
0706 {
0707 typedef vector24<
0708 typename Vector::item0, typename Vector::item1
0709 , typename Vector::item2, typename Vector::item3
0710 , typename Vector::item4, typename Vector::item5
0711 , typename Vector::item6, typename Vector::item7
0712 , typename Vector::item8, typename Vector::item9
0713 , typename Vector::item10, typename Vector::item11
0714 , typename Vector::item12, typename Vector::item13
0715 , typename Vector::item14, typename Vector::item15
0716 , typename Vector::item16, typename Vector::item17
0717 , typename Vector::item18, typename Vector::item19
0718 , typename Vector::item20, typename Vector::item21
0719 , typename Vector::item22
0720 ,
0721 T
0722 > type;
0723 };
0724 };
0725
0726 template<>
0727 struct pop_back_impl< aux::vector_tag<24> >
0728 {
0729 template< typename Vector > struct apply
0730 {
0731 typedef vector23<
0732 typename Vector::item0, typename Vector::item1
0733 , typename Vector::item2, typename Vector::item3
0734 , typename Vector::item4, typename Vector::item5
0735 , typename Vector::item6, typename Vector::item7
0736 , typename Vector::item8, typename Vector::item9
0737 , typename Vector::item10, typename Vector::item11
0738 , typename Vector::item12, typename Vector::item13
0739 , typename Vector::item14, typename Vector::item15
0740 , typename Vector::item16, typename Vector::item17
0741 , typename Vector::item18, typename Vector::item19
0742 , typename Vector::item20, typename Vector::item21
0743 , typename Vector::item22
0744 > type;
0745 };
0746 };
0747
0748 namespace aux {
0749 template<> struct v_at_impl<24>
0750 {
0751 template< typename V_ > struct result_
0752 {
0753 typedef typename V_::item24 type;
0754 };
0755 };
0756
0757 }
0758
0759 template<>
0760 struct at_impl< aux::vector_tag<24> >
0761 {
0762 template< typename V_, typename N > struct apply
0763 {
0764 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0765 ::template result_<V_>::type type;
0766 };
0767 };
0768
0769 template<>
0770 struct front_impl< aux::vector_tag<24> >
0771 {
0772 template< typename Vector > struct apply
0773 {
0774 typedef typename Vector::item0 type;
0775 };
0776 };
0777
0778 template<>
0779 struct back_impl< aux::vector_tag<24> >
0780 {
0781 template< typename Vector > struct apply
0782 {
0783 typedef typename Vector::back type;
0784 };
0785 };
0786
0787 template<>
0788 struct empty_impl< aux::vector_tag<24> >
0789 {
0790 template< typename Vector > struct apply
0791 : false_
0792 {
0793 };
0794 };
0795
0796 template<>
0797 struct size_impl< aux::vector_tag<24> >
0798 {
0799 template< typename Vector > struct apply
0800 : long_<24>
0801 {
0802 };
0803 };
0804
0805 template<>
0806 struct O1_size_impl< aux::vector_tag<24> >
0807 : size_impl< aux::vector_tag<24> >
0808 {
0809 };
0810
0811 template<>
0812 struct clear_impl< aux::vector_tag<24> >
0813 {
0814 template< typename Vector > struct apply
0815 {
0816 typedef vector0<> type;
0817 };
0818 };
0819
0820 template<
0821 typename T0, typename T1, typename T2, typename T3, typename T4
0822 , typename T5, typename T6, typename T7, typename T8, typename T9
0823 , typename T10, typename T11, typename T12, typename T13, typename T14
0824 , typename T15, typename T16, typename T17, typename T18, typename T19
0825 , typename T20, typename T21, typename T22, typename T23, typename T24
0826 >
0827 struct vector25
0828 {
0829 typedef aux::vector_tag<25> tag;
0830 typedef vector25 type;
0831 typedef T0 item0;
0832 typedef T1 item1;
0833 typedef T2 item2;
0834 typedef T3 item3;
0835 typedef T4 item4;
0836 typedef T5 item5;
0837 typedef T6 item6;
0838 typedef T7 item7;
0839 typedef T8 item8;
0840 typedef T9 item9;
0841 typedef T10 item10;
0842 typedef T11 item11;
0843 typedef T12 item12;
0844 typedef T13 item13;
0845 typedef T14 item14;
0846 typedef T15 item15;
0847 typedef T16 item16;
0848 typedef T17 item17;
0849 typedef T18 item18;
0850 typedef T19 item19;
0851 typedef T20 item20;
0852 typedef T21 item21;
0853 typedef T22 item22;
0854 typedef T23 item23;
0855 typedef T24 item24;
0856
0857
0858 typedef void_ item25;
0859 typedef T24 back;
0860 typedef v_iter< type,0 > begin;
0861 typedef v_iter< type,25 > end;
0862 };
0863
0864 template<>
0865 struct push_front_impl< aux::vector_tag<24> >
0866 {
0867 template< typename Vector, typename T > struct apply
0868 {
0869 typedef vector25<
0870 T
0871 ,
0872 typename Vector::item0, typename Vector::item1
0873 , typename Vector::item2, typename Vector::item3
0874 , typename Vector::item4, typename Vector::item5
0875 , typename Vector::item6, typename Vector::item7
0876 , typename Vector::item8, typename Vector::item9
0877 , typename Vector::item10, typename Vector::item11
0878 , typename Vector::item12, typename Vector::item13
0879 , typename Vector::item14, typename Vector::item15
0880 , typename Vector::item16, typename Vector::item17
0881 , typename Vector::item18, typename Vector::item19
0882 , typename Vector::item20, typename Vector::item21
0883 , typename Vector::item22, typename Vector::item23
0884 > type;
0885 };
0886 };
0887
0888 template<>
0889 struct pop_front_impl< aux::vector_tag<25> >
0890 {
0891 template< typename Vector > struct apply
0892 {
0893 typedef vector24<
0894 typename Vector::item1, typename Vector::item2
0895 , typename Vector::item3, typename Vector::item4
0896 , typename Vector::item5, typename Vector::item6
0897 , typename Vector::item7, typename Vector::item8
0898 , typename Vector::item9, typename Vector::item10
0899 , typename Vector::item11, typename Vector::item12
0900 , typename Vector::item13, typename Vector::item14
0901 , typename Vector::item15, typename Vector::item16
0902 , typename Vector::item17, typename Vector::item18
0903 , typename Vector::item19, typename Vector::item20
0904 , typename Vector::item21, typename Vector::item22
0905 , typename Vector::item23, typename Vector::item24
0906 > type;
0907 };
0908 };
0909
0910 template<>
0911 struct push_back_impl< aux::vector_tag<24> >
0912 {
0913 template< typename Vector, typename T > struct apply
0914 {
0915 typedef vector25<
0916 typename Vector::item0, typename Vector::item1
0917 , typename Vector::item2, typename Vector::item3
0918 , typename Vector::item4, typename Vector::item5
0919 , typename Vector::item6, typename Vector::item7
0920 , typename Vector::item8, typename Vector::item9
0921 , typename Vector::item10, typename Vector::item11
0922 , typename Vector::item12, typename Vector::item13
0923 , typename Vector::item14, typename Vector::item15
0924 , typename Vector::item16, typename Vector::item17
0925 , typename Vector::item18, typename Vector::item19
0926 , typename Vector::item20, typename Vector::item21
0927 , typename Vector::item22, typename Vector::item23
0928 ,
0929 T
0930 > type;
0931 };
0932 };
0933
0934 template<>
0935 struct pop_back_impl< aux::vector_tag<25> >
0936 {
0937 template< typename Vector > struct apply
0938 {
0939 typedef vector24<
0940 typename Vector::item0, typename Vector::item1
0941 , typename Vector::item2, typename Vector::item3
0942 , typename Vector::item4, typename Vector::item5
0943 , typename Vector::item6, typename Vector::item7
0944 , typename Vector::item8, typename Vector::item9
0945 , typename Vector::item10, typename Vector::item11
0946 , typename Vector::item12, typename Vector::item13
0947 , typename Vector::item14, typename Vector::item15
0948 , typename Vector::item16, typename Vector::item17
0949 , typename Vector::item18, typename Vector::item19
0950 , typename Vector::item20, typename Vector::item21
0951 , typename Vector::item22, typename Vector::item23
0952 > type;
0953 };
0954 };
0955
0956 namespace aux {
0957 template<> struct v_at_impl<25>
0958 {
0959 template< typename V_ > struct result_
0960 {
0961 typedef typename V_::item25 type;
0962 };
0963 };
0964
0965 }
0966
0967 template<>
0968 struct at_impl< aux::vector_tag<25> >
0969 {
0970 template< typename V_, typename N > struct apply
0971 {
0972 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0973 ::template result_<V_>::type type;
0974 };
0975 };
0976
0977 template<>
0978 struct front_impl< aux::vector_tag<25> >
0979 {
0980 template< typename Vector > struct apply
0981 {
0982 typedef typename Vector::item0 type;
0983 };
0984 };
0985
0986 template<>
0987 struct back_impl< aux::vector_tag<25> >
0988 {
0989 template< typename Vector > struct apply
0990 {
0991 typedef typename Vector::back type;
0992 };
0993 };
0994
0995 template<>
0996 struct empty_impl< aux::vector_tag<25> >
0997 {
0998 template< typename Vector > struct apply
0999 : false_
1000 {
1001 };
1002 };
1003
1004 template<>
1005 struct size_impl< aux::vector_tag<25> >
1006 {
1007 template< typename Vector > struct apply
1008 : long_<25>
1009 {
1010 };
1011 };
1012
1013 template<>
1014 struct O1_size_impl< aux::vector_tag<25> >
1015 : size_impl< aux::vector_tag<25> >
1016 {
1017 };
1018
1019 template<>
1020 struct clear_impl< aux::vector_tag<25> >
1021 {
1022 template< typename Vector > struct apply
1023 {
1024 typedef vector0<> type;
1025 };
1026 };
1027
1028 template<
1029 typename T0, typename T1, typename T2, typename T3, typename T4
1030 , typename T5, typename T6, typename T7, typename T8, typename T9
1031 , typename T10, typename T11, typename T12, typename T13, typename T14
1032 , typename T15, typename T16, typename T17, typename T18, typename T19
1033 , typename T20, typename T21, typename T22, typename T23, typename T24
1034 , typename T25
1035 >
1036 struct vector26
1037 {
1038 typedef aux::vector_tag<26> tag;
1039 typedef vector26 type;
1040 typedef T0 item0;
1041 typedef T1 item1;
1042 typedef T2 item2;
1043 typedef T3 item3;
1044 typedef T4 item4;
1045 typedef T5 item5;
1046 typedef T6 item6;
1047 typedef T7 item7;
1048 typedef T8 item8;
1049 typedef T9 item9;
1050 typedef T10 item10;
1051 typedef T11 item11;
1052 typedef T12 item12;
1053 typedef T13 item13;
1054 typedef T14 item14;
1055 typedef T15 item15;
1056 typedef T16 item16;
1057 typedef T17 item17;
1058 typedef T18 item18;
1059 typedef T19 item19;
1060 typedef T20 item20;
1061 typedef T21 item21;
1062 typedef T22 item22;
1063 typedef T23 item23;
1064 typedef T24 item24;
1065 typedef T25 item25;
1066
1067
1068 typedef void_ item26;
1069 typedef T25 back;
1070 typedef v_iter< type,0 > begin;
1071 typedef v_iter< type,26 > end;
1072 };
1073
1074 template<>
1075 struct push_front_impl< aux::vector_tag<25> >
1076 {
1077 template< typename Vector, typename T > struct apply
1078 {
1079 typedef vector26<
1080 T
1081 ,
1082 typename Vector::item0, typename Vector::item1
1083 , typename Vector::item2, typename Vector::item3
1084 , typename Vector::item4, typename Vector::item5
1085 , typename Vector::item6, typename Vector::item7
1086 , typename Vector::item8, typename Vector::item9
1087 , typename Vector::item10, typename Vector::item11
1088 , typename Vector::item12, typename Vector::item13
1089 , typename Vector::item14, typename Vector::item15
1090 , typename Vector::item16, typename Vector::item17
1091 , typename Vector::item18, typename Vector::item19
1092 , typename Vector::item20, typename Vector::item21
1093 , typename Vector::item22, typename Vector::item23
1094 , typename Vector::item24
1095 > type;
1096 };
1097 };
1098
1099 template<>
1100 struct pop_front_impl< aux::vector_tag<26> >
1101 {
1102 template< typename Vector > struct apply
1103 {
1104 typedef vector25<
1105 typename Vector::item1, typename Vector::item2
1106 , typename Vector::item3, typename Vector::item4
1107 , typename Vector::item5, typename Vector::item6
1108 , typename Vector::item7, typename Vector::item8
1109 , typename Vector::item9, typename Vector::item10
1110 , typename Vector::item11, typename Vector::item12
1111 , typename Vector::item13, typename Vector::item14
1112 , typename Vector::item15, typename Vector::item16
1113 , typename Vector::item17, typename Vector::item18
1114 , typename Vector::item19, typename Vector::item20
1115 , typename Vector::item21, typename Vector::item22
1116 , typename Vector::item23, typename Vector::item24
1117 , typename Vector::item25
1118 > type;
1119 };
1120 };
1121
1122 template<>
1123 struct push_back_impl< aux::vector_tag<25> >
1124 {
1125 template< typename Vector, typename T > struct apply
1126 {
1127 typedef vector26<
1128 typename Vector::item0, typename Vector::item1
1129 , typename Vector::item2, typename Vector::item3
1130 , typename Vector::item4, typename Vector::item5
1131 , typename Vector::item6, typename Vector::item7
1132 , typename Vector::item8, typename Vector::item9
1133 , typename Vector::item10, typename Vector::item11
1134 , typename Vector::item12, typename Vector::item13
1135 , typename Vector::item14, typename Vector::item15
1136 , typename Vector::item16, typename Vector::item17
1137 , typename Vector::item18, typename Vector::item19
1138 , typename Vector::item20, typename Vector::item21
1139 , typename Vector::item22, typename Vector::item23
1140 , typename Vector::item24
1141 ,
1142 T
1143 > type;
1144 };
1145 };
1146
1147 template<>
1148 struct pop_back_impl< aux::vector_tag<26> >
1149 {
1150 template< typename Vector > struct apply
1151 {
1152 typedef vector25<
1153 typename Vector::item0, typename Vector::item1
1154 , typename Vector::item2, typename Vector::item3
1155 , typename Vector::item4, typename Vector::item5
1156 , typename Vector::item6, typename Vector::item7
1157 , typename Vector::item8, typename Vector::item9
1158 , typename Vector::item10, typename Vector::item11
1159 , typename Vector::item12, typename Vector::item13
1160 , typename Vector::item14, typename Vector::item15
1161 , typename Vector::item16, typename Vector::item17
1162 , typename Vector::item18, typename Vector::item19
1163 , typename Vector::item20, typename Vector::item21
1164 , typename Vector::item22, typename Vector::item23
1165 , typename Vector::item24
1166 > type;
1167 };
1168 };
1169
1170 namespace aux {
1171 template<> struct v_at_impl<26>
1172 {
1173 template< typename V_ > struct result_
1174 {
1175 typedef typename V_::item26 type;
1176 };
1177 };
1178
1179 }
1180
1181 template<>
1182 struct at_impl< aux::vector_tag<26> >
1183 {
1184 template< typename V_, typename N > struct apply
1185 {
1186 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1187 ::template result_<V_>::type type;
1188 };
1189 };
1190
1191 template<>
1192 struct front_impl< aux::vector_tag<26> >
1193 {
1194 template< typename Vector > struct apply
1195 {
1196 typedef typename Vector::item0 type;
1197 };
1198 };
1199
1200 template<>
1201 struct back_impl< aux::vector_tag<26> >
1202 {
1203 template< typename Vector > struct apply
1204 {
1205 typedef typename Vector::back type;
1206 };
1207 };
1208
1209 template<>
1210 struct empty_impl< aux::vector_tag<26> >
1211 {
1212 template< typename Vector > struct apply
1213 : false_
1214 {
1215 };
1216 };
1217
1218 template<>
1219 struct size_impl< aux::vector_tag<26> >
1220 {
1221 template< typename Vector > struct apply
1222 : long_<26>
1223 {
1224 };
1225 };
1226
1227 template<>
1228 struct O1_size_impl< aux::vector_tag<26> >
1229 : size_impl< aux::vector_tag<26> >
1230 {
1231 };
1232
1233 template<>
1234 struct clear_impl< aux::vector_tag<26> >
1235 {
1236 template< typename Vector > struct apply
1237 {
1238 typedef vector0<> type;
1239 };
1240 };
1241
1242 template<
1243 typename T0, typename T1, typename T2, typename T3, typename T4
1244 , typename T5, typename T6, typename T7, typename T8, typename T9
1245 , typename T10, typename T11, typename T12, typename T13, typename T14
1246 , typename T15, typename T16, typename T17, typename T18, typename T19
1247 , typename T20, typename T21, typename T22, typename T23, typename T24
1248 , typename T25, typename T26
1249 >
1250 struct vector27
1251 {
1252 typedef aux::vector_tag<27> tag;
1253 typedef vector27 type;
1254 typedef T0 item0;
1255 typedef T1 item1;
1256 typedef T2 item2;
1257 typedef T3 item3;
1258 typedef T4 item4;
1259 typedef T5 item5;
1260 typedef T6 item6;
1261 typedef T7 item7;
1262 typedef T8 item8;
1263 typedef T9 item9;
1264 typedef T10 item10;
1265 typedef T11 item11;
1266 typedef T12 item12;
1267 typedef T13 item13;
1268 typedef T14 item14;
1269 typedef T15 item15;
1270 typedef T16 item16;
1271 typedef T17 item17;
1272 typedef T18 item18;
1273 typedef T19 item19;
1274 typedef T20 item20;
1275 typedef T21 item21;
1276 typedef T22 item22;
1277 typedef T23 item23;
1278 typedef T24 item24;
1279 typedef T25 item25;
1280 typedef T26 item26;
1281
1282
1283 typedef void_ item27;
1284 typedef T26 back;
1285 typedef v_iter< type,0 > begin;
1286 typedef v_iter< type,27 > end;
1287 };
1288
1289 template<>
1290 struct push_front_impl< aux::vector_tag<26> >
1291 {
1292 template< typename Vector, typename T > struct apply
1293 {
1294 typedef vector27<
1295 T
1296 ,
1297 typename Vector::item0, typename Vector::item1
1298 , typename Vector::item2, typename Vector::item3
1299 , typename Vector::item4, typename Vector::item5
1300 , typename Vector::item6, typename Vector::item7
1301 , typename Vector::item8, typename Vector::item9
1302 , typename Vector::item10, typename Vector::item11
1303 , typename Vector::item12, typename Vector::item13
1304 , typename Vector::item14, typename Vector::item15
1305 , typename Vector::item16, typename Vector::item17
1306 , typename Vector::item18, typename Vector::item19
1307 , typename Vector::item20, typename Vector::item21
1308 , typename Vector::item22, typename Vector::item23
1309 , typename Vector::item24, typename Vector::item25
1310 > type;
1311 };
1312 };
1313
1314 template<>
1315 struct pop_front_impl< aux::vector_tag<27> >
1316 {
1317 template< typename Vector > struct apply
1318 {
1319 typedef vector26<
1320 typename Vector::item1, typename Vector::item2
1321 , typename Vector::item3, typename Vector::item4
1322 , typename Vector::item5, typename Vector::item6
1323 , typename Vector::item7, typename Vector::item8
1324 , typename Vector::item9, typename Vector::item10
1325 , typename Vector::item11, typename Vector::item12
1326 , typename Vector::item13, typename Vector::item14
1327 , typename Vector::item15, typename Vector::item16
1328 , typename Vector::item17, typename Vector::item18
1329 , typename Vector::item19, typename Vector::item20
1330 , typename Vector::item21, typename Vector::item22
1331 , typename Vector::item23, typename Vector::item24
1332 , typename Vector::item25, typename Vector::item26
1333 > type;
1334 };
1335 };
1336
1337 template<>
1338 struct push_back_impl< aux::vector_tag<26> >
1339 {
1340 template< typename Vector, typename T > struct apply
1341 {
1342 typedef vector27<
1343 typename Vector::item0, typename Vector::item1
1344 , typename Vector::item2, typename Vector::item3
1345 , typename Vector::item4, typename Vector::item5
1346 , typename Vector::item6, typename Vector::item7
1347 , typename Vector::item8, typename Vector::item9
1348 , typename Vector::item10, typename Vector::item11
1349 , typename Vector::item12, typename Vector::item13
1350 , typename Vector::item14, typename Vector::item15
1351 , typename Vector::item16, typename Vector::item17
1352 , typename Vector::item18, typename Vector::item19
1353 , typename Vector::item20, typename Vector::item21
1354 , typename Vector::item22, typename Vector::item23
1355 , typename Vector::item24, typename Vector::item25
1356 ,
1357 T
1358 > type;
1359 };
1360 };
1361
1362 template<>
1363 struct pop_back_impl< aux::vector_tag<27> >
1364 {
1365 template< typename Vector > struct apply
1366 {
1367 typedef vector26<
1368 typename Vector::item0, typename Vector::item1
1369 , typename Vector::item2, typename Vector::item3
1370 , typename Vector::item4, typename Vector::item5
1371 , typename Vector::item6, typename Vector::item7
1372 , typename Vector::item8, typename Vector::item9
1373 , typename Vector::item10, typename Vector::item11
1374 , typename Vector::item12, typename Vector::item13
1375 , typename Vector::item14, typename Vector::item15
1376 , typename Vector::item16, typename Vector::item17
1377 , typename Vector::item18, typename Vector::item19
1378 , typename Vector::item20, typename Vector::item21
1379 , typename Vector::item22, typename Vector::item23
1380 , typename Vector::item24, typename Vector::item25
1381 > type;
1382 };
1383 };
1384
1385 namespace aux {
1386 template<> struct v_at_impl<27>
1387 {
1388 template< typename V_ > struct result_
1389 {
1390 typedef typename V_::item27 type;
1391 };
1392 };
1393
1394 }
1395
1396 template<>
1397 struct at_impl< aux::vector_tag<27> >
1398 {
1399 template< typename V_, typename N > struct apply
1400 {
1401 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1402 ::template result_<V_>::type type;
1403 };
1404 };
1405
1406 template<>
1407 struct front_impl< aux::vector_tag<27> >
1408 {
1409 template< typename Vector > struct apply
1410 {
1411 typedef typename Vector::item0 type;
1412 };
1413 };
1414
1415 template<>
1416 struct back_impl< aux::vector_tag<27> >
1417 {
1418 template< typename Vector > struct apply
1419 {
1420 typedef typename Vector::back type;
1421 };
1422 };
1423
1424 template<>
1425 struct empty_impl< aux::vector_tag<27> >
1426 {
1427 template< typename Vector > struct apply
1428 : false_
1429 {
1430 };
1431 };
1432
1433 template<>
1434 struct size_impl< aux::vector_tag<27> >
1435 {
1436 template< typename Vector > struct apply
1437 : long_<27>
1438 {
1439 };
1440 };
1441
1442 template<>
1443 struct O1_size_impl< aux::vector_tag<27> >
1444 : size_impl< aux::vector_tag<27> >
1445 {
1446 };
1447
1448 template<>
1449 struct clear_impl< aux::vector_tag<27> >
1450 {
1451 template< typename Vector > struct apply
1452 {
1453 typedef vector0<> type;
1454 };
1455 };
1456
1457 template<
1458 typename T0, typename T1, typename T2, typename T3, typename T4
1459 , typename T5, typename T6, typename T7, typename T8, typename T9
1460 , typename T10, typename T11, typename T12, typename T13, typename T14
1461 , typename T15, typename T16, typename T17, typename T18, typename T19
1462 , typename T20, typename T21, typename T22, typename T23, typename T24
1463 , typename T25, typename T26, typename T27
1464 >
1465 struct vector28
1466 {
1467 typedef aux::vector_tag<28> tag;
1468 typedef vector28 type;
1469 typedef T0 item0;
1470 typedef T1 item1;
1471 typedef T2 item2;
1472 typedef T3 item3;
1473 typedef T4 item4;
1474 typedef T5 item5;
1475 typedef T6 item6;
1476 typedef T7 item7;
1477 typedef T8 item8;
1478 typedef T9 item9;
1479 typedef T10 item10;
1480 typedef T11 item11;
1481 typedef T12 item12;
1482 typedef T13 item13;
1483 typedef T14 item14;
1484 typedef T15 item15;
1485 typedef T16 item16;
1486 typedef T17 item17;
1487 typedef T18 item18;
1488 typedef T19 item19;
1489 typedef T20 item20;
1490 typedef T21 item21;
1491 typedef T22 item22;
1492 typedef T23 item23;
1493 typedef T24 item24;
1494 typedef T25 item25;
1495 typedef T26 item26;
1496 typedef T27 item27;
1497
1498
1499 typedef void_ item28;
1500 typedef T27 back;
1501 typedef v_iter< type,0 > begin;
1502 typedef v_iter< type,28 > end;
1503 };
1504
1505 template<>
1506 struct push_front_impl< aux::vector_tag<27> >
1507 {
1508 template< typename Vector, typename T > struct apply
1509 {
1510 typedef vector28<
1511 T
1512 ,
1513 typename Vector::item0, typename Vector::item1
1514 , typename Vector::item2, typename Vector::item3
1515 , typename Vector::item4, typename Vector::item5
1516 , typename Vector::item6, typename Vector::item7
1517 , typename Vector::item8, typename Vector::item9
1518 , typename Vector::item10, typename Vector::item11
1519 , typename Vector::item12, typename Vector::item13
1520 , typename Vector::item14, typename Vector::item15
1521 , typename Vector::item16, typename Vector::item17
1522 , typename Vector::item18, typename Vector::item19
1523 , typename Vector::item20, typename Vector::item21
1524 , typename Vector::item22, typename Vector::item23
1525 , typename Vector::item24, typename Vector::item25
1526 , typename Vector::item26
1527 > type;
1528 };
1529 };
1530
1531 template<>
1532 struct pop_front_impl< aux::vector_tag<28> >
1533 {
1534 template< typename Vector > struct apply
1535 {
1536 typedef vector27<
1537 typename Vector::item1, typename Vector::item2
1538 , typename Vector::item3, typename Vector::item4
1539 , typename Vector::item5, typename Vector::item6
1540 , typename Vector::item7, typename Vector::item8
1541 , typename Vector::item9, typename Vector::item10
1542 , typename Vector::item11, typename Vector::item12
1543 , typename Vector::item13, typename Vector::item14
1544 , typename Vector::item15, typename Vector::item16
1545 , typename Vector::item17, typename Vector::item18
1546 , typename Vector::item19, typename Vector::item20
1547 , typename Vector::item21, typename Vector::item22
1548 , typename Vector::item23, typename Vector::item24
1549 , typename Vector::item25, typename Vector::item26
1550 , typename Vector::item27
1551 > type;
1552 };
1553 };
1554
1555 template<>
1556 struct push_back_impl< aux::vector_tag<27> >
1557 {
1558 template< typename Vector, typename T > struct apply
1559 {
1560 typedef vector28<
1561 typename Vector::item0, typename Vector::item1
1562 , typename Vector::item2, typename Vector::item3
1563 , typename Vector::item4, typename Vector::item5
1564 , typename Vector::item6, typename Vector::item7
1565 , typename Vector::item8, typename Vector::item9
1566 , typename Vector::item10, typename Vector::item11
1567 , typename Vector::item12, typename Vector::item13
1568 , typename Vector::item14, typename Vector::item15
1569 , typename Vector::item16, typename Vector::item17
1570 , typename Vector::item18, typename Vector::item19
1571 , typename Vector::item20, typename Vector::item21
1572 , typename Vector::item22, typename Vector::item23
1573 , typename Vector::item24, typename Vector::item25
1574 , typename Vector::item26
1575 ,
1576 T
1577 > type;
1578 };
1579 };
1580
1581 template<>
1582 struct pop_back_impl< aux::vector_tag<28> >
1583 {
1584 template< typename Vector > struct apply
1585 {
1586 typedef vector27<
1587 typename Vector::item0, typename Vector::item1
1588 , typename Vector::item2, typename Vector::item3
1589 , typename Vector::item4, typename Vector::item5
1590 , typename Vector::item6, typename Vector::item7
1591 , typename Vector::item8, typename Vector::item9
1592 , typename Vector::item10, typename Vector::item11
1593 , typename Vector::item12, typename Vector::item13
1594 , typename Vector::item14, typename Vector::item15
1595 , typename Vector::item16, typename Vector::item17
1596 , typename Vector::item18, typename Vector::item19
1597 , typename Vector::item20, typename Vector::item21
1598 , typename Vector::item22, typename Vector::item23
1599 , typename Vector::item24, typename Vector::item25
1600 , typename Vector::item26
1601 > type;
1602 };
1603 };
1604
1605 namespace aux {
1606 template<> struct v_at_impl<28>
1607 {
1608 template< typename V_ > struct result_
1609 {
1610 typedef typename V_::item28 type;
1611 };
1612 };
1613
1614 }
1615
1616 template<>
1617 struct at_impl< aux::vector_tag<28> >
1618 {
1619 template< typename V_, typename N > struct apply
1620 {
1621 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1622 ::template result_<V_>::type type;
1623 };
1624 };
1625
1626 template<>
1627 struct front_impl< aux::vector_tag<28> >
1628 {
1629 template< typename Vector > struct apply
1630 {
1631 typedef typename Vector::item0 type;
1632 };
1633 };
1634
1635 template<>
1636 struct back_impl< aux::vector_tag<28> >
1637 {
1638 template< typename Vector > struct apply
1639 {
1640 typedef typename Vector::back type;
1641 };
1642 };
1643
1644 template<>
1645 struct empty_impl< aux::vector_tag<28> >
1646 {
1647 template< typename Vector > struct apply
1648 : false_
1649 {
1650 };
1651 };
1652
1653 template<>
1654 struct size_impl< aux::vector_tag<28> >
1655 {
1656 template< typename Vector > struct apply
1657 : long_<28>
1658 {
1659 };
1660 };
1661
1662 template<>
1663 struct O1_size_impl< aux::vector_tag<28> >
1664 : size_impl< aux::vector_tag<28> >
1665 {
1666 };
1667
1668 template<>
1669 struct clear_impl< aux::vector_tag<28> >
1670 {
1671 template< typename Vector > struct apply
1672 {
1673 typedef vector0<> type;
1674 };
1675 };
1676
1677 template<
1678 typename T0, typename T1, typename T2, typename T3, typename T4
1679 , typename T5, typename T6, typename T7, typename T8, typename T9
1680 , typename T10, typename T11, typename T12, typename T13, typename T14
1681 , typename T15, typename T16, typename T17, typename T18, typename T19
1682 , typename T20, typename T21, typename T22, typename T23, typename T24
1683 , typename T25, typename T26, typename T27, typename T28
1684 >
1685 struct vector29
1686 {
1687 typedef aux::vector_tag<29> tag;
1688 typedef vector29 type;
1689 typedef T0 item0;
1690 typedef T1 item1;
1691 typedef T2 item2;
1692 typedef T3 item3;
1693 typedef T4 item4;
1694 typedef T5 item5;
1695 typedef T6 item6;
1696 typedef T7 item7;
1697 typedef T8 item8;
1698 typedef T9 item9;
1699 typedef T10 item10;
1700 typedef T11 item11;
1701 typedef T12 item12;
1702 typedef T13 item13;
1703 typedef T14 item14;
1704 typedef T15 item15;
1705 typedef T16 item16;
1706 typedef T17 item17;
1707 typedef T18 item18;
1708 typedef T19 item19;
1709 typedef T20 item20;
1710 typedef T21 item21;
1711 typedef T22 item22;
1712 typedef T23 item23;
1713 typedef T24 item24;
1714 typedef T25 item25;
1715 typedef T26 item26;
1716 typedef T27 item27;
1717 typedef T28 item28;
1718
1719
1720 typedef void_ item29;
1721 typedef T28 back;
1722 typedef v_iter< type,0 > begin;
1723 typedef v_iter< type,29 > end;
1724 };
1725
1726 template<>
1727 struct push_front_impl< aux::vector_tag<28> >
1728 {
1729 template< typename Vector, typename T > struct apply
1730 {
1731 typedef vector29<
1732 T
1733 ,
1734 typename Vector::item0, typename Vector::item1
1735 , typename Vector::item2, typename Vector::item3
1736 , typename Vector::item4, typename Vector::item5
1737 , typename Vector::item6, typename Vector::item7
1738 , typename Vector::item8, typename Vector::item9
1739 , typename Vector::item10, typename Vector::item11
1740 , typename Vector::item12, typename Vector::item13
1741 , typename Vector::item14, typename Vector::item15
1742 , typename Vector::item16, typename Vector::item17
1743 , typename Vector::item18, typename Vector::item19
1744 , typename Vector::item20, typename Vector::item21
1745 , typename Vector::item22, typename Vector::item23
1746 , typename Vector::item24, typename Vector::item25
1747 , typename Vector::item26, typename Vector::item27
1748 > type;
1749 };
1750 };
1751
1752 template<>
1753 struct pop_front_impl< aux::vector_tag<29> >
1754 {
1755 template< typename Vector > struct apply
1756 {
1757 typedef vector28<
1758 typename Vector::item1, typename Vector::item2
1759 , typename Vector::item3, typename Vector::item4
1760 , typename Vector::item5, typename Vector::item6
1761 , typename Vector::item7, typename Vector::item8
1762 , typename Vector::item9, typename Vector::item10
1763 , typename Vector::item11, typename Vector::item12
1764 , typename Vector::item13, typename Vector::item14
1765 , typename Vector::item15, typename Vector::item16
1766 , typename Vector::item17, typename Vector::item18
1767 , typename Vector::item19, typename Vector::item20
1768 , typename Vector::item21, typename Vector::item22
1769 , typename Vector::item23, typename Vector::item24
1770 , typename Vector::item25, typename Vector::item26
1771 , typename Vector::item27, typename Vector::item28
1772 > type;
1773 };
1774 };
1775
1776 template<>
1777 struct push_back_impl< aux::vector_tag<28> >
1778 {
1779 template< typename Vector, typename T > struct apply
1780 {
1781 typedef vector29<
1782 typename Vector::item0, typename Vector::item1
1783 , typename Vector::item2, typename Vector::item3
1784 , typename Vector::item4, typename Vector::item5
1785 , typename Vector::item6, typename Vector::item7
1786 , typename Vector::item8, typename Vector::item9
1787 , typename Vector::item10, typename Vector::item11
1788 , typename Vector::item12, typename Vector::item13
1789 , typename Vector::item14, typename Vector::item15
1790 , typename Vector::item16, typename Vector::item17
1791 , typename Vector::item18, typename Vector::item19
1792 , typename Vector::item20, typename Vector::item21
1793 , typename Vector::item22, typename Vector::item23
1794 , typename Vector::item24, typename Vector::item25
1795 , typename Vector::item26, typename Vector::item27
1796 ,
1797 T
1798 > type;
1799 };
1800 };
1801
1802 template<>
1803 struct pop_back_impl< aux::vector_tag<29> >
1804 {
1805 template< typename Vector > struct apply
1806 {
1807 typedef vector28<
1808 typename Vector::item0, typename Vector::item1
1809 , typename Vector::item2, typename Vector::item3
1810 , typename Vector::item4, typename Vector::item5
1811 , typename Vector::item6, typename Vector::item7
1812 , typename Vector::item8, typename Vector::item9
1813 , typename Vector::item10, typename Vector::item11
1814 , typename Vector::item12, typename Vector::item13
1815 , typename Vector::item14, typename Vector::item15
1816 , typename Vector::item16, typename Vector::item17
1817 , typename Vector::item18, typename Vector::item19
1818 , typename Vector::item20, typename Vector::item21
1819 , typename Vector::item22, typename Vector::item23
1820 , typename Vector::item24, typename Vector::item25
1821 , typename Vector::item26, typename Vector::item27
1822 > type;
1823 };
1824 };
1825
1826 namespace aux {
1827 template<> struct v_at_impl<29>
1828 {
1829 template< typename V_ > struct result_
1830 {
1831 typedef typename V_::item29 type;
1832 };
1833 };
1834
1835 }
1836
1837 template<>
1838 struct at_impl< aux::vector_tag<29> >
1839 {
1840 template< typename V_, typename N > struct apply
1841 {
1842 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1843 ::template result_<V_>::type type;
1844 };
1845 };
1846
1847 template<>
1848 struct front_impl< aux::vector_tag<29> >
1849 {
1850 template< typename Vector > struct apply
1851 {
1852 typedef typename Vector::item0 type;
1853 };
1854 };
1855
1856 template<>
1857 struct back_impl< aux::vector_tag<29> >
1858 {
1859 template< typename Vector > struct apply
1860 {
1861 typedef typename Vector::back type;
1862 };
1863 };
1864
1865 template<>
1866 struct empty_impl< aux::vector_tag<29> >
1867 {
1868 template< typename Vector > struct apply
1869 : false_
1870 {
1871 };
1872 };
1873
1874 template<>
1875 struct size_impl< aux::vector_tag<29> >
1876 {
1877 template< typename Vector > struct apply
1878 : long_<29>
1879 {
1880 };
1881 };
1882
1883 template<>
1884 struct O1_size_impl< aux::vector_tag<29> >
1885 : size_impl< aux::vector_tag<29> >
1886 {
1887 };
1888
1889 template<>
1890 struct clear_impl< aux::vector_tag<29> >
1891 {
1892 template< typename Vector > struct apply
1893 {
1894 typedef vector0<> type;
1895 };
1896 };
1897
1898 template<
1899 typename T0, typename T1, typename T2, typename T3, typename T4
1900 , typename T5, typename T6, typename T7, typename T8, typename T9
1901 , typename T10, typename T11, typename T12, typename T13, typename T14
1902 , typename T15, typename T16, typename T17, typename T18, typename T19
1903 , typename T20, typename T21, typename T22, typename T23, typename T24
1904 , typename T25, typename T26, typename T27, typename T28, typename T29
1905 >
1906 struct vector30
1907 {
1908 typedef aux::vector_tag<30> tag;
1909 typedef vector30 type;
1910 typedef T0 item0;
1911 typedef T1 item1;
1912 typedef T2 item2;
1913 typedef T3 item3;
1914 typedef T4 item4;
1915 typedef T5 item5;
1916 typedef T6 item6;
1917 typedef T7 item7;
1918 typedef T8 item8;
1919 typedef T9 item9;
1920 typedef T10 item10;
1921 typedef T11 item11;
1922 typedef T12 item12;
1923 typedef T13 item13;
1924 typedef T14 item14;
1925 typedef T15 item15;
1926 typedef T16 item16;
1927 typedef T17 item17;
1928 typedef T18 item18;
1929 typedef T19 item19;
1930 typedef T20 item20;
1931 typedef T21 item21;
1932 typedef T22 item22;
1933 typedef T23 item23;
1934 typedef T24 item24;
1935 typedef T25 item25;
1936 typedef T26 item26;
1937 typedef T27 item27;
1938 typedef T28 item28;
1939 typedef T29 item29;
1940
1941
1942 typedef void_ item30;
1943 typedef T29 back;
1944 typedef v_iter< type,0 > begin;
1945 typedef v_iter< type,30 > end;
1946 };
1947
1948 template<>
1949 struct push_front_impl< aux::vector_tag<29> >
1950 {
1951 template< typename Vector, typename T > struct apply
1952 {
1953 typedef vector30<
1954 T
1955 ,
1956 typename Vector::item0, typename Vector::item1
1957 , typename Vector::item2, typename Vector::item3
1958 , typename Vector::item4, typename Vector::item5
1959 , typename Vector::item6, typename Vector::item7
1960 , typename Vector::item8, typename Vector::item9
1961 , typename Vector::item10, typename Vector::item11
1962 , typename Vector::item12, typename Vector::item13
1963 , typename Vector::item14, typename Vector::item15
1964 , typename Vector::item16, typename Vector::item17
1965 , typename Vector::item18, typename Vector::item19
1966 , typename Vector::item20, typename Vector::item21
1967 , typename Vector::item22, typename Vector::item23
1968 , typename Vector::item24, typename Vector::item25
1969 , typename Vector::item26, typename Vector::item27
1970 , typename Vector::item28
1971 > type;
1972 };
1973 };
1974
1975 template<>
1976 struct pop_front_impl< aux::vector_tag<30> >
1977 {
1978 template< typename Vector > struct apply
1979 {
1980 typedef vector29<
1981 typename Vector::item1, typename Vector::item2
1982 , typename Vector::item3, typename Vector::item4
1983 , typename Vector::item5, typename Vector::item6
1984 , typename Vector::item7, typename Vector::item8
1985 , typename Vector::item9, typename Vector::item10
1986 , typename Vector::item11, typename Vector::item12
1987 , typename Vector::item13, typename Vector::item14
1988 , typename Vector::item15, typename Vector::item16
1989 , typename Vector::item17, typename Vector::item18
1990 , typename Vector::item19, typename Vector::item20
1991 , typename Vector::item21, typename Vector::item22
1992 , typename Vector::item23, typename Vector::item24
1993 , typename Vector::item25, typename Vector::item26
1994 , typename Vector::item27, typename Vector::item28
1995 , typename Vector::item29
1996 > type;
1997 };
1998 };
1999
2000 template<>
2001 struct push_back_impl< aux::vector_tag<29> >
2002 {
2003 template< typename Vector, typename T > struct apply
2004 {
2005 typedef vector30<
2006 typename Vector::item0, typename Vector::item1
2007 , typename Vector::item2, typename Vector::item3
2008 , typename Vector::item4, typename Vector::item5
2009 , typename Vector::item6, typename Vector::item7
2010 , typename Vector::item8, typename Vector::item9
2011 , typename Vector::item10, typename Vector::item11
2012 , typename Vector::item12, typename Vector::item13
2013 , typename Vector::item14, typename Vector::item15
2014 , typename Vector::item16, typename Vector::item17
2015 , typename Vector::item18, typename Vector::item19
2016 , typename Vector::item20, typename Vector::item21
2017 , typename Vector::item22, typename Vector::item23
2018 , typename Vector::item24, typename Vector::item25
2019 , typename Vector::item26, typename Vector::item27
2020 , typename Vector::item28
2021 ,
2022 T
2023 > type;
2024 };
2025 };
2026
2027 template<>
2028 struct pop_back_impl< aux::vector_tag<30> >
2029 {
2030 template< typename Vector > struct apply
2031 {
2032 typedef vector29<
2033 typename Vector::item0, typename Vector::item1
2034 , typename Vector::item2, typename Vector::item3
2035 , typename Vector::item4, typename Vector::item5
2036 , typename Vector::item6, typename Vector::item7
2037 , typename Vector::item8, typename Vector::item9
2038 , typename Vector::item10, typename Vector::item11
2039 , typename Vector::item12, typename Vector::item13
2040 , typename Vector::item14, typename Vector::item15
2041 , typename Vector::item16, typename Vector::item17
2042 , typename Vector::item18, typename Vector::item19
2043 , typename Vector::item20, typename Vector::item21
2044 , typename Vector::item22, typename Vector::item23
2045 , typename Vector::item24, typename Vector::item25
2046 , typename Vector::item26, typename Vector::item27
2047 , typename Vector::item28
2048 > type;
2049 };
2050 };
2051
2052 namespace aux {
2053 template<> struct v_at_impl<30>
2054 {
2055 template< typename V_ > struct result_
2056 {
2057 typedef typename V_::item30 type;
2058 };
2059 };
2060
2061 }
2062
2063 template<>
2064 struct at_impl< aux::vector_tag<30> >
2065 {
2066 template< typename V_, typename N > struct apply
2067 {
2068 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
2069 ::template result_<V_>::type type;
2070 };
2071 };
2072
2073 template<>
2074 struct front_impl< aux::vector_tag<30> >
2075 {
2076 template< typename Vector > struct apply
2077 {
2078 typedef typename Vector::item0 type;
2079 };
2080 };
2081
2082 template<>
2083 struct back_impl< aux::vector_tag<30> >
2084 {
2085 template< typename Vector > struct apply
2086 {
2087 typedef typename Vector::back type;
2088 };
2089 };
2090
2091 template<>
2092 struct empty_impl< aux::vector_tag<30> >
2093 {
2094 template< typename Vector > struct apply
2095 : false_
2096 {
2097 };
2098 };
2099
2100 template<>
2101 struct size_impl< aux::vector_tag<30> >
2102 {
2103 template< typename Vector > struct apply
2104 : long_<30>
2105 {
2106 };
2107 };
2108
2109 template<>
2110 struct O1_size_impl< aux::vector_tag<30> >
2111 : size_impl< aux::vector_tag<30> >
2112 {
2113 };
2114
2115 template<>
2116 struct clear_impl< aux::vector_tag<30> >
2117 {
2118 template< typename Vector > struct apply
2119 {
2120 typedef vector0<> type;
2121 };
2122 };
2123
2124 }}