File indexing completed on 2025-01-18 09:41:45
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
0018 >
0019 struct vector11
0020 {
0021 typedef aux::vector_tag<11> tag;
0022 typedef vector11 type;
0023 typedef T0 item0;
0024 typedef T1 item1;
0025 typedef T2 item2;
0026 typedef T3 item3;
0027 typedef T4 item4;
0028 typedef T5 item5;
0029 typedef T6 item6;
0030 typedef T7 item7;
0031 typedef T8 item8;
0032 typedef T9 item9;
0033 typedef T10 item10;
0034
0035
0036 typedef void_ item11;
0037 typedef T10 back;
0038 typedef v_iter< type,0 > begin;
0039 typedef v_iter< type,11 > end;
0040 };
0041
0042 template<>
0043 struct push_front_impl< aux::vector_tag<10> >
0044 {
0045 template< typename Vector, typename T > struct apply
0046 {
0047 typedef vector11<
0048 T
0049 ,
0050 typename Vector::item0, typename Vector::item1
0051 , typename Vector::item2, typename Vector::item3
0052 , typename Vector::item4, typename Vector::item5
0053 , typename Vector::item6, typename Vector::item7
0054 , typename Vector::item8, typename Vector::item9
0055 > type;
0056 };
0057 };
0058
0059 template<>
0060 struct pop_front_impl< aux::vector_tag<11> >
0061 {
0062 template< typename Vector > struct apply
0063 {
0064 typedef vector10<
0065 typename Vector::item1, typename Vector::item2
0066 , typename Vector::item3, typename Vector::item4
0067 , typename Vector::item5, typename Vector::item6
0068 , typename Vector::item7, typename Vector::item8
0069 , typename Vector::item9, typename Vector::item10
0070 > type;
0071 };
0072 };
0073
0074 template<>
0075 struct push_back_impl< aux::vector_tag<10> >
0076 {
0077 template< typename Vector, typename T > struct apply
0078 {
0079 typedef vector11<
0080 typename Vector::item0, typename Vector::item1
0081 , typename Vector::item2, typename Vector::item3
0082 , typename Vector::item4, typename Vector::item5
0083 , typename Vector::item6, typename Vector::item7
0084 , typename Vector::item8, typename Vector::item9
0085 ,
0086 T
0087 > type;
0088 };
0089 };
0090
0091 template<>
0092 struct pop_back_impl< aux::vector_tag<11> >
0093 {
0094 template< typename Vector > struct apply
0095 {
0096 typedef vector10<
0097 typename Vector::item0, typename Vector::item1
0098 , typename Vector::item2, typename Vector::item3
0099 , typename Vector::item4, typename Vector::item5
0100 , typename Vector::item6, typename Vector::item7
0101 , typename Vector::item8, typename Vector::item9
0102 > type;
0103 };
0104 };
0105
0106 namespace aux {
0107 template<> struct v_at_impl<11>
0108 {
0109 template< typename V_ > struct result_
0110 {
0111 typedef typename V_::item11 type;
0112 };
0113 };
0114
0115 }
0116
0117 template<>
0118 struct at_impl< aux::vector_tag<11> >
0119 {
0120 template< typename V_, typename N > struct apply
0121 {
0122 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0123 ::template result_<V_>::type type;
0124 };
0125 };
0126
0127 template<>
0128 struct front_impl< aux::vector_tag<11> >
0129 {
0130 template< typename Vector > struct apply
0131 {
0132 typedef typename Vector::item0 type;
0133 };
0134 };
0135
0136 template<>
0137 struct back_impl< aux::vector_tag<11> >
0138 {
0139 template< typename Vector > struct apply
0140 {
0141 typedef typename Vector::back type;
0142 };
0143 };
0144
0145 template<>
0146 struct empty_impl< aux::vector_tag<11> >
0147 {
0148 template< typename Vector > struct apply
0149 : false_
0150 {
0151 };
0152 };
0153
0154 template<>
0155 struct size_impl< aux::vector_tag<11> >
0156 {
0157 template< typename Vector > struct apply
0158 : long_<11>
0159 {
0160 };
0161 };
0162
0163 template<>
0164 struct O1_size_impl< aux::vector_tag<11> >
0165 : size_impl< aux::vector_tag<11> >
0166 {
0167 };
0168
0169 template<>
0170 struct clear_impl< aux::vector_tag<11> >
0171 {
0172 template< typename Vector > struct apply
0173 {
0174 typedef vector0<> type;
0175 };
0176 };
0177
0178 template<
0179 typename T0, typename T1, typename T2, typename T3, typename T4
0180 , typename T5, typename T6, typename T7, typename T8, typename T9
0181 , typename T10, typename T11
0182 >
0183 struct vector12
0184 {
0185 typedef aux::vector_tag<12> tag;
0186 typedef vector12 type;
0187 typedef T0 item0;
0188 typedef T1 item1;
0189 typedef T2 item2;
0190 typedef T3 item3;
0191 typedef T4 item4;
0192 typedef T5 item5;
0193 typedef T6 item6;
0194 typedef T7 item7;
0195 typedef T8 item8;
0196 typedef T9 item9;
0197 typedef T10 item10;
0198 typedef T11 item11;
0199
0200
0201 typedef void_ item12;
0202 typedef T11 back;
0203 typedef v_iter< type,0 > begin;
0204 typedef v_iter< type,12 > end;
0205 };
0206
0207 template<>
0208 struct push_front_impl< aux::vector_tag<11> >
0209 {
0210 template< typename Vector, typename T > struct apply
0211 {
0212 typedef vector12<
0213 T
0214 ,
0215 typename Vector::item0, typename Vector::item1
0216 , typename Vector::item2, typename Vector::item3
0217 , typename Vector::item4, typename Vector::item5
0218 , typename Vector::item6, typename Vector::item7
0219 , typename Vector::item8, typename Vector::item9
0220 , typename Vector::item10
0221 > type;
0222 };
0223 };
0224
0225 template<>
0226 struct pop_front_impl< aux::vector_tag<12> >
0227 {
0228 template< typename Vector > struct apply
0229 {
0230 typedef vector11<
0231 typename Vector::item1, typename Vector::item2
0232 , typename Vector::item3, typename Vector::item4
0233 , typename Vector::item5, typename Vector::item6
0234 , typename Vector::item7, typename Vector::item8
0235 , typename Vector::item9, typename Vector::item10
0236 , typename Vector::item11
0237 > type;
0238 };
0239 };
0240
0241 template<>
0242 struct push_back_impl< aux::vector_tag<11> >
0243 {
0244 template< typename Vector, typename T > struct apply
0245 {
0246 typedef vector12<
0247 typename Vector::item0, typename Vector::item1
0248 , typename Vector::item2, typename Vector::item3
0249 , typename Vector::item4, typename Vector::item5
0250 , typename Vector::item6, typename Vector::item7
0251 , typename Vector::item8, typename Vector::item9
0252 , typename Vector::item10
0253 ,
0254 T
0255 > type;
0256 };
0257 };
0258
0259 template<>
0260 struct pop_back_impl< aux::vector_tag<12> >
0261 {
0262 template< typename Vector > struct apply
0263 {
0264 typedef vector11<
0265 typename Vector::item0, typename Vector::item1
0266 , typename Vector::item2, typename Vector::item3
0267 , typename Vector::item4, typename Vector::item5
0268 , typename Vector::item6, typename Vector::item7
0269 , typename Vector::item8, typename Vector::item9
0270 , typename Vector::item10
0271 > type;
0272 };
0273 };
0274
0275 namespace aux {
0276 template<> struct v_at_impl<12>
0277 {
0278 template< typename V_ > struct result_
0279 {
0280 typedef typename V_::item12 type;
0281 };
0282 };
0283
0284 }
0285
0286 template<>
0287 struct at_impl< aux::vector_tag<12> >
0288 {
0289 template< typename V_, typename N > struct apply
0290 {
0291 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0292 ::template result_<V_>::type type;
0293 };
0294 };
0295
0296 template<>
0297 struct front_impl< aux::vector_tag<12> >
0298 {
0299 template< typename Vector > struct apply
0300 {
0301 typedef typename Vector::item0 type;
0302 };
0303 };
0304
0305 template<>
0306 struct back_impl< aux::vector_tag<12> >
0307 {
0308 template< typename Vector > struct apply
0309 {
0310 typedef typename Vector::back type;
0311 };
0312 };
0313
0314 template<>
0315 struct empty_impl< aux::vector_tag<12> >
0316 {
0317 template< typename Vector > struct apply
0318 : false_
0319 {
0320 };
0321 };
0322
0323 template<>
0324 struct size_impl< aux::vector_tag<12> >
0325 {
0326 template< typename Vector > struct apply
0327 : long_<12>
0328 {
0329 };
0330 };
0331
0332 template<>
0333 struct O1_size_impl< aux::vector_tag<12> >
0334 : size_impl< aux::vector_tag<12> >
0335 {
0336 };
0337
0338 template<>
0339 struct clear_impl< aux::vector_tag<12> >
0340 {
0341 template< typename Vector > struct apply
0342 {
0343 typedef vector0<> type;
0344 };
0345 };
0346
0347 template<
0348 typename T0, typename T1, typename T2, typename T3, typename T4
0349 , typename T5, typename T6, typename T7, typename T8, typename T9
0350 , typename T10, typename T11, typename T12
0351 >
0352 struct vector13
0353 {
0354 typedef aux::vector_tag<13> tag;
0355 typedef vector13 type;
0356 typedef T0 item0;
0357 typedef T1 item1;
0358 typedef T2 item2;
0359 typedef T3 item3;
0360 typedef T4 item4;
0361 typedef T5 item5;
0362 typedef T6 item6;
0363 typedef T7 item7;
0364 typedef T8 item8;
0365 typedef T9 item9;
0366 typedef T10 item10;
0367 typedef T11 item11;
0368 typedef T12 item12;
0369
0370
0371 typedef void_ item13;
0372 typedef T12 back;
0373 typedef v_iter< type,0 > begin;
0374 typedef v_iter< type,13 > end;
0375 };
0376
0377 template<>
0378 struct push_front_impl< aux::vector_tag<12> >
0379 {
0380 template< typename Vector, typename T > struct apply
0381 {
0382 typedef vector13<
0383 T
0384 ,
0385 typename Vector::item0, typename Vector::item1
0386 , typename Vector::item2, typename Vector::item3
0387 , typename Vector::item4, typename Vector::item5
0388 , typename Vector::item6, typename Vector::item7
0389 , typename Vector::item8, typename Vector::item9
0390 , typename Vector::item10, typename Vector::item11
0391 > type;
0392 };
0393 };
0394
0395 template<>
0396 struct pop_front_impl< aux::vector_tag<13> >
0397 {
0398 template< typename Vector > struct apply
0399 {
0400 typedef vector12<
0401 typename Vector::item1, typename Vector::item2
0402 , typename Vector::item3, typename Vector::item4
0403 , typename Vector::item5, typename Vector::item6
0404 , typename Vector::item7, typename Vector::item8
0405 , typename Vector::item9, typename Vector::item10
0406 , typename Vector::item11, typename Vector::item12
0407 > type;
0408 };
0409 };
0410
0411 template<>
0412 struct push_back_impl< aux::vector_tag<12> >
0413 {
0414 template< typename Vector, typename T > struct apply
0415 {
0416 typedef vector13<
0417 typename Vector::item0, typename Vector::item1
0418 , typename Vector::item2, typename Vector::item3
0419 , typename Vector::item4, typename Vector::item5
0420 , typename Vector::item6, typename Vector::item7
0421 , typename Vector::item8, typename Vector::item9
0422 , typename Vector::item10, typename Vector::item11
0423 ,
0424 T
0425 > type;
0426 };
0427 };
0428
0429 template<>
0430 struct pop_back_impl< aux::vector_tag<13> >
0431 {
0432 template< typename Vector > struct apply
0433 {
0434 typedef vector12<
0435 typename Vector::item0, typename Vector::item1
0436 , typename Vector::item2, typename Vector::item3
0437 , typename Vector::item4, typename Vector::item5
0438 , typename Vector::item6, typename Vector::item7
0439 , typename Vector::item8, typename Vector::item9
0440 , typename Vector::item10, typename Vector::item11
0441 > type;
0442 };
0443 };
0444
0445 namespace aux {
0446 template<> struct v_at_impl<13>
0447 {
0448 template< typename V_ > struct result_
0449 {
0450 typedef typename V_::item13 type;
0451 };
0452 };
0453
0454 }
0455
0456 template<>
0457 struct at_impl< aux::vector_tag<13> >
0458 {
0459 template< typename V_, typename N > struct apply
0460 {
0461 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0462 ::template result_<V_>::type type;
0463 };
0464 };
0465
0466 template<>
0467 struct front_impl< aux::vector_tag<13> >
0468 {
0469 template< typename Vector > struct apply
0470 {
0471 typedef typename Vector::item0 type;
0472 };
0473 };
0474
0475 template<>
0476 struct back_impl< aux::vector_tag<13> >
0477 {
0478 template< typename Vector > struct apply
0479 {
0480 typedef typename Vector::back type;
0481 };
0482 };
0483
0484 template<>
0485 struct empty_impl< aux::vector_tag<13> >
0486 {
0487 template< typename Vector > struct apply
0488 : false_
0489 {
0490 };
0491 };
0492
0493 template<>
0494 struct size_impl< aux::vector_tag<13> >
0495 {
0496 template< typename Vector > struct apply
0497 : long_<13>
0498 {
0499 };
0500 };
0501
0502 template<>
0503 struct O1_size_impl< aux::vector_tag<13> >
0504 : size_impl< aux::vector_tag<13> >
0505 {
0506 };
0507
0508 template<>
0509 struct clear_impl< aux::vector_tag<13> >
0510 {
0511 template< typename Vector > struct apply
0512 {
0513 typedef vector0<> type;
0514 };
0515 };
0516
0517 template<
0518 typename T0, typename T1, typename T2, typename T3, typename T4
0519 , typename T5, typename T6, typename T7, typename T8, typename T9
0520 , typename T10, typename T11, typename T12, typename T13
0521 >
0522 struct vector14
0523 {
0524 typedef aux::vector_tag<14> tag;
0525 typedef vector14 type;
0526 typedef T0 item0;
0527 typedef T1 item1;
0528 typedef T2 item2;
0529 typedef T3 item3;
0530 typedef T4 item4;
0531 typedef T5 item5;
0532 typedef T6 item6;
0533 typedef T7 item7;
0534 typedef T8 item8;
0535 typedef T9 item9;
0536 typedef T10 item10;
0537 typedef T11 item11;
0538 typedef T12 item12;
0539 typedef T13 item13;
0540
0541
0542 typedef void_ item14;
0543 typedef T13 back;
0544 typedef v_iter< type,0 > begin;
0545 typedef v_iter< type,14 > end;
0546 };
0547
0548 template<>
0549 struct push_front_impl< aux::vector_tag<13> >
0550 {
0551 template< typename Vector, typename T > struct apply
0552 {
0553 typedef vector14<
0554 T
0555 ,
0556 typename Vector::item0, typename Vector::item1
0557 , typename Vector::item2, typename Vector::item3
0558 , typename Vector::item4, typename Vector::item5
0559 , typename Vector::item6, typename Vector::item7
0560 , typename Vector::item8, typename Vector::item9
0561 , typename Vector::item10, typename Vector::item11
0562 , typename Vector::item12
0563 > type;
0564 };
0565 };
0566
0567 template<>
0568 struct pop_front_impl< aux::vector_tag<14> >
0569 {
0570 template< typename Vector > struct apply
0571 {
0572 typedef vector13<
0573 typename Vector::item1, typename Vector::item2
0574 , typename Vector::item3, typename Vector::item4
0575 , typename Vector::item5, typename Vector::item6
0576 , typename Vector::item7, typename Vector::item8
0577 , typename Vector::item9, typename Vector::item10
0578 , typename Vector::item11, typename Vector::item12
0579 , typename Vector::item13
0580 > type;
0581 };
0582 };
0583
0584 template<>
0585 struct push_back_impl< aux::vector_tag<13> >
0586 {
0587 template< typename Vector, typename T > struct apply
0588 {
0589 typedef vector14<
0590 typename Vector::item0, typename Vector::item1
0591 , typename Vector::item2, typename Vector::item3
0592 , typename Vector::item4, typename Vector::item5
0593 , typename Vector::item6, typename Vector::item7
0594 , typename Vector::item8, typename Vector::item9
0595 , typename Vector::item10, typename Vector::item11
0596 , typename Vector::item12
0597 ,
0598 T
0599 > type;
0600 };
0601 };
0602
0603 template<>
0604 struct pop_back_impl< aux::vector_tag<14> >
0605 {
0606 template< typename Vector > struct apply
0607 {
0608 typedef vector13<
0609 typename Vector::item0, typename Vector::item1
0610 , typename Vector::item2, typename Vector::item3
0611 , typename Vector::item4, typename Vector::item5
0612 , typename Vector::item6, typename Vector::item7
0613 , typename Vector::item8, typename Vector::item9
0614 , typename Vector::item10, typename Vector::item11
0615 , typename Vector::item12
0616 > type;
0617 };
0618 };
0619
0620 namespace aux {
0621 template<> struct v_at_impl<14>
0622 {
0623 template< typename V_ > struct result_
0624 {
0625 typedef typename V_::item14 type;
0626 };
0627 };
0628
0629 }
0630
0631 template<>
0632 struct at_impl< aux::vector_tag<14> >
0633 {
0634 template< typename V_, typename N > struct apply
0635 {
0636 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0637 ::template result_<V_>::type type;
0638 };
0639 };
0640
0641 template<>
0642 struct front_impl< aux::vector_tag<14> >
0643 {
0644 template< typename Vector > struct apply
0645 {
0646 typedef typename Vector::item0 type;
0647 };
0648 };
0649
0650 template<>
0651 struct back_impl< aux::vector_tag<14> >
0652 {
0653 template< typename Vector > struct apply
0654 {
0655 typedef typename Vector::back type;
0656 };
0657 };
0658
0659 template<>
0660 struct empty_impl< aux::vector_tag<14> >
0661 {
0662 template< typename Vector > struct apply
0663 : false_
0664 {
0665 };
0666 };
0667
0668 template<>
0669 struct size_impl< aux::vector_tag<14> >
0670 {
0671 template< typename Vector > struct apply
0672 : long_<14>
0673 {
0674 };
0675 };
0676
0677 template<>
0678 struct O1_size_impl< aux::vector_tag<14> >
0679 : size_impl< aux::vector_tag<14> >
0680 {
0681 };
0682
0683 template<>
0684 struct clear_impl< aux::vector_tag<14> >
0685 {
0686 template< typename Vector > struct apply
0687 {
0688 typedef vector0<> type;
0689 };
0690 };
0691
0692 template<
0693 typename T0, typename T1, typename T2, typename T3, typename T4
0694 , typename T5, typename T6, typename T7, typename T8, typename T9
0695 , typename T10, typename T11, typename T12, typename T13, typename T14
0696 >
0697 struct vector15
0698 {
0699 typedef aux::vector_tag<15> tag;
0700 typedef vector15 type;
0701 typedef T0 item0;
0702 typedef T1 item1;
0703 typedef T2 item2;
0704 typedef T3 item3;
0705 typedef T4 item4;
0706 typedef T5 item5;
0707 typedef T6 item6;
0708 typedef T7 item7;
0709 typedef T8 item8;
0710 typedef T9 item9;
0711 typedef T10 item10;
0712 typedef T11 item11;
0713 typedef T12 item12;
0714 typedef T13 item13;
0715 typedef T14 item14;
0716
0717
0718 typedef void_ item15;
0719 typedef T14 back;
0720 typedef v_iter< type,0 > begin;
0721 typedef v_iter< type,15 > end;
0722 };
0723
0724 template<>
0725 struct push_front_impl< aux::vector_tag<14> >
0726 {
0727 template< typename Vector, typename T > struct apply
0728 {
0729 typedef vector15<
0730 T
0731 ,
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 > type;
0740 };
0741 };
0742
0743 template<>
0744 struct pop_front_impl< aux::vector_tag<15> >
0745 {
0746 template< typename Vector > struct apply
0747 {
0748 typedef vector14<
0749 typename Vector::item1, typename Vector::item2
0750 , typename Vector::item3, typename Vector::item4
0751 , typename Vector::item5, typename Vector::item6
0752 , typename Vector::item7, typename Vector::item8
0753 , typename Vector::item9, typename Vector::item10
0754 , typename Vector::item11, typename Vector::item12
0755 , typename Vector::item13, typename Vector::item14
0756 > type;
0757 };
0758 };
0759
0760 template<>
0761 struct push_back_impl< aux::vector_tag<14> >
0762 {
0763 template< typename Vector, typename T > struct apply
0764 {
0765 typedef vector15<
0766 typename Vector::item0, typename Vector::item1
0767 , typename Vector::item2, typename Vector::item3
0768 , typename Vector::item4, typename Vector::item5
0769 , typename Vector::item6, typename Vector::item7
0770 , typename Vector::item8, typename Vector::item9
0771 , typename Vector::item10, typename Vector::item11
0772 , typename Vector::item12, typename Vector::item13
0773 ,
0774 T
0775 > type;
0776 };
0777 };
0778
0779 template<>
0780 struct pop_back_impl< aux::vector_tag<15> >
0781 {
0782 template< typename Vector > struct apply
0783 {
0784 typedef vector14<
0785 typename Vector::item0, typename Vector::item1
0786 , typename Vector::item2, typename Vector::item3
0787 , typename Vector::item4, typename Vector::item5
0788 , typename Vector::item6, typename Vector::item7
0789 , typename Vector::item8, typename Vector::item9
0790 , typename Vector::item10, typename Vector::item11
0791 , typename Vector::item12, typename Vector::item13
0792 > type;
0793 };
0794 };
0795
0796 namespace aux {
0797 template<> struct v_at_impl<15>
0798 {
0799 template< typename V_ > struct result_
0800 {
0801 typedef typename V_::item15 type;
0802 };
0803 };
0804
0805 }
0806
0807 template<>
0808 struct at_impl< aux::vector_tag<15> >
0809 {
0810 template< typename V_, typename N > struct apply
0811 {
0812 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0813 ::template result_<V_>::type type;
0814 };
0815 };
0816
0817 template<>
0818 struct front_impl< aux::vector_tag<15> >
0819 {
0820 template< typename Vector > struct apply
0821 {
0822 typedef typename Vector::item0 type;
0823 };
0824 };
0825
0826 template<>
0827 struct back_impl< aux::vector_tag<15> >
0828 {
0829 template< typename Vector > struct apply
0830 {
0831 typedef typename Vector::back type;
0832 };
0833 };
0834
0835 template<>
0836 struct empty_impl< aux::vector_tag<15> >
0837 {
0838 template< typename Vector > struct apply
0839 : false_
0840 {
0841 };
0842 };
0843
0844 template<>
0845 struct size_impl< aux::vector_tag<15> >
0846 {
0847 template< typename Vector > struct apply
0848 : long_<15>
0849 {
0850 };
0851 };
0852
0853 template<>
0854 struct O1_size_impl< aux::vector_tag<15> >
0855 : size_impl< aux::vector_tag<15> >
0856 {
0857 };
0858
0859 template<>
0860 struct clear_impl< aux::vector_tag<15> >
0861 {
0862 template< typename Vector > struct apply
0863 {
0864 typedef vector0<> type;
0865 };
0866 };
0867
0868 template<
0869 typename T0, typename T1, typename T2, typename T3, typename T4
0870 , typename T5, typename T6, typename T7, typename T8, typename T9
0871 , typename T10, typename T11, typename T12, typename T13, typename T14
0872 , typename T15
0873 >
0874 struct vector16
0875 {
0876 typedef aux::vector_tag<16> tag;
0877 typedef vector16 type;
0878 typedef T0 item0;
0879 typedef T1 item1;
0880 typedef T2 item2;
0881 typedef T3 item3;
0882 typedef T4 item4;
0883 typedef T5 item5;
0884 typedef T6 item6;
0885 typedef T7 item7;
0886 typedef T8 item8;
0887 typedef T9 item9;
0888 typedef T10 item10;
0889 typedef T11 item11;
0890 typedef T12 item12;
0891 typedef T13 item13;
0892 typedef T14 item14;
0893 typedef T15 item15;
0894
0895
0896 typedef void_ item16;
0897 typedef T15 back;
0898 typedef v_iter< type,0 > begin;
0899 typedef v_iter< type,16 > end;
0900 };
0901
0902 template<>
0903 struct push_front_impl< aux::vector_tag<15> >
0904 {
0905 template< typename Vector, typename T > struct apply
0906 {
0907 typedef vector16<
0908 T
0909 ,
0910 typename Vector::item0, typename Vector::item1
0911 , typename Vector::item2, typename Vector::item3
0912 , typename Vector::item4, typename Vector::item5
0913 , typename Vector::item6, typename Vector::item7
0914 , typename Vector::item8, typename Vector::item9
0915 , typename Vector::item10, typename Vector::item11
0916 , typename Vector::item12, typename Vector::item13
0917 , typename Vector::item14
0918 > type;
0919 };
0920 };
0921
0922 template<>
0923 struct pop_front_impl< aux::vector_tag<16> >
0924 {
0925 template< typename Vector > struct apply
0926 {
0927 typedef vector15<
0928 typename Vector::item1, typename Vector::item2
0929 , typename Vector::item3, typename Vector::item4
0930 , typename Vector::item5, typename Vector::item6
0931 , typename Vector::item7, typename Vector::item8
0932 , typename Vector::item9, typename Vector::item10
0933 , typename Vector::item11, typename Vector::item12
0934 , typename Vector::item13, typename Vector::item14
0935 , typename Vector::item15
0936 > type;
0937 };
0938 };
0939
0940 template<>
0941 struct push_back_impl< aux::vector_tag<15> >
0942 {
0943 template< typename Vector, typename T > struct apply
0944 {
0945 typedef vector16<
0946 typename Vector::item0, typename Vector::item1
0947 , typename Vector::item2, typename Vector::item3
0948 , typename Vector::item4, typename Vector::item5
0949 , typename Vector::item6, typename Vector::item7
0950 , typename Vector::item8, typename Vector::item9
0951 , typename Vector::item10, typename Vector::item11
0952 , typename Vector::item12, typename Vector::item13
0953 , typename Vector::item14
0954 ,
0955 T
0956 > type;
0957 };
0958 };
0959
0960 template<>
0961 struct pop_back_impl< aux::vector_tag<16> >
0962 {
0963 template< typename Vector > struct apply
0964 {
0965 typedef vector15<
0966 typename Vector::item0, typename Vector::item1
0967 , typename Vector::item2, typename Vector::item3
0968 , typename Vector::item4, typename Vector::item5
0969 , typename Vector::item6, typename Vector::item7
0970 , typename Vector::item8, typename Vector::item9
0971 , typename Vector::item10, typename Vector::item11
0972 , typename Vector::item12, typename Vector::item13
0973 , typename Vector::item14
0974 > type;
0975 };
0976 };
0977
0978 namespace aux {
0979 template<> struct v_at_impl<16>
0980 {
0981 template< typename V_ > struct result_
0982 {
0983 typedef typename V_::item16 type;
0984 };
0985 };
0986
0987 }
0988
0989 template<>
0990 struct at_impl< aux::vector_tag<16> >
0991 {
0992 template< typename V_, typename N > struct apply
0993 {
0994 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
0995 ::template result_<V_>::type type;
0996 };
0997 };
0998
0999 template<>
1000 struct front_impl< aux::vector_tag<16> >
1001 {
1002 template< typename Vector > struct apply
1003 {
1004 typedef typename Vector::item0 type;
1005 };
1006 };
1007
1008 template<>
1009 struct back_impl< aux::vector_tag<16> >
1010 {
1011 template< typename Vector > struct apply
1012 {
1013 typedef typename Vector::back type;
1014 };
1015 };
1016
1017 template<>
1018 struct empty_impl< aux::vector_tag<16> >
1019 {
1020 template< typename Vector > struct apply
1021 : false_
1022 {
1023 };
1024 };
1025
1026 template<>
1027 struct size_impl< aux::vector_tag<16> >
1028 {
1029 template< typename Vector > struct apply
1030 : long_<16>
1031 {
1032 };
1033 };
1034
1035 template<>
1036 struct O1_size_impl< aux::vector_tag<16> >
1037 : size_impl< aux::vector_tag<16> >
1038 {
1039 };
1040
1041 template<>
1042 struct clear_impl< aux::vector_tag<16> >
1043 {
1044 template< typename Vector > struct apply
1045 {
1046 typedef vector0<> type;
1047 };
1048 };
1049
1050 template<
1051 typename T0, typename T1, typename T2, typename T3, typename T4
1052 , typename T5, typename T6, typename T7, typename T8, typename T9
1053 , typename T10, typename T11, typename T12, typename T13, typename T14
1054 , typename T15, typename T16
1055 >
1056 struct vector17
1057 {
1058 typedef aux::vector_tag<17> tag;
1059 typedef vector17 type;
1060 typedef T0 item0;
1061 typedef T1 item1;
1062 typedef T2 item2;
1063 typedef T3 item3;
1064 typedef T4 item4;
1065 typedef T5 item5;
1066 typedef T6 item6;
1067 typedef T7 item7;
1068 typedef T8 item8;
1069 typedef T9 item9;
1070 typedef T10 item10;
1071 typedef T11 item11;
1072 typedef T12 item12;
1073 typedef T13 item13;
1074 typedef T14 item14;
1075 typedef T15 item15;
1076 typedef T16 item16;
1077
1078
1079 typedef void_ item17;
1080 typedef T16 back;
1081 typedef v_iter< type,0 > begin;
1082 typedef v_iter< type,17 > end;
1083 };
1084
1085 template<>
1086 struct push_front_impl< aux::vector_tag<16> >
1087 {
1088 template< typename Vector, typename T > struct apply
1089 {
1090 typedef vector17<
1091 T
1092 ,
1093 typename Vector::item0, typename Vector::item1
1094 , typename Vector::item2, typename Vector::item3
1095 , typename Vector::item4, typename Vector::item5
1096 , typename Vector::item6, typename Vector::item7
1097 , typename Vector::item8, typename Vector::item9
1098 , typename Vector::item10, typename Vector::item11
1099 , typename Vector::item12, typename Vector::item13
1100 , typename Vector::item14, typename Vector::item15
1101 > type;
1102 };
1103 };
1104
1105 template<>
1106 struct pop_front_impl< aux::vector_tag<17> >
1107 {
1108 template< typename Vector > struct apply
1109 {
1110 typedef vector16<
1111 typename Vector::item1, typename Vector::item2
1112 , typename Vector::item3, typename Vector::item4
1113 , typename Vector::item5, typename Vector::item6
1114 , typename Vector::item7, typename Vector::item8
1115 , typename Vector::item9, typename Vector::item10
1116 , typename Vector::item11, typename Vector::item12
1117 , typename Vector::item13, typename Vector::item14
1118 , typename Vector::item15, typename Vector::item16
1119 > type;
1120 };
1121 };
1122
1123 template<>
1124 struct push_back_impl< aux::vector_tag<16> >
1125 {
1126 template< typename Vector, typename T > struct apply
1127 {
1128 typedef vector17<
1129 typename Vector::item0, typename Vector::item1
1130 , typename Vector::item2, typename Vector::item3
1131 , typename Vector::item4, typename Vector::item5
1132 , typename Vector::item6, typename Vector::item7
1133 , typename Vector::item8, typename Vector::item9
1134 , typename Vector::item10, typename Vector::item11
1135 , typename Vector::item12, typename Vector::item13
1136 , typename Vector::item14, typename Vector::item15
1137 ,
1138 T
1139 > type;
1140 };
1141 };
1142
1143 template<>
1144 struct pop_back_impl< aux::vector_tag<17> >
1145 {
1146 template< typename Vector > struct apply
1147 {
1148 typedef vector16<
1149 typename Vector::item0, typename Vector::item1
1150 , typename Vector::item2, typename Vector::item3
1151 , typename Vector::item4, typename Vector::item5
1152 , typename Vector::item6, typename Vector::item7
1153 , typename Vector::item8, typename Vector::item9
1154 , typename Vector::item10, typename Vector::item11
1155 , typename Vector::item12, typename Vector::item13
1156 , typename Vector::item14, typename Vector::item15
1157 > type;
1158 };
1159 };
1160
1161 namespace aux {
1162 template<> struct v_at_impl<17>
1163 {
1164 template< typename V_ > struct result_
1165 {
1166 typedef typename V_::item17 type;
1167 };
1168 };
1169
1170 }
1171
1172 template<>
1173 struct at_impl< aux::vector_tag<17> >
1174 {
1175 template< typename V_, typename N > struct apply
1176 {
1177 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1178 ::template result_<V_>::type type;
1179 };
1180 };
1181
1182 template<>
1183 struct front_impl< aux::vector_tag<17> >
1184 {
1185 template< typename Vector > struct apply
1186 {
1187 typedef typename Vector::item0 type;
1188 };
1189 };
1190
1191 template<>
1192 struct back_impl< aux::vector_tag<17> >
1193 {
1194 template< typename Vector > struct apply
1195 {
1196 typedef typename Vector::back type;
1197 };
1198 };
1199
1200 template<>
1201 struct empty_impl< aux::vector_tag<17> >
1202 {
1203 template< typename Vector > struct apply
1204 : false_
1205 {
1206 };
1207 };
1208
1209 template<>
1210 struct size_impl< aux::vector_tag<17> >
1211 {
1212 template< typename Vector > struct apply
1213 : long_<17>
1214 {
1215 };
1216 };
1217
1218 template<>
1219 struct O1_size_impl< aux::vector_tag<17> >
1220 : size_impl< aux::vector_tag<17> >
1221 {
1222 };
1223
1224 template<>
1225 struct clear_impl< aux::vector_tag<17> >
1226 {
1227 template< typename Vector > struct apply
1228 {
1229 typedef vector0<> type;
1230 };
1231 };
1232
1233 template<
1234 typename T0, typename T1, typename T2, typename T3, typename T4
1235 , typename T5, typename T6, typename T7, typename T8, typename T9
1236 , typename T10, typename T11, typename T12, typename T13, typename T14
1237 , typename T15, typename T16, typename T17
1238 >
1239 struct vector18
1240 {
1241 typedef aux::vector_tag<18> tag;
1242 typedef vector18 type;
1243 typedef T0 item0;
1244 typedef T1 item1;
1245 typedef T2 item2;
1246 typedef T3 item3;
1247 typedef T4 item4;
1248 typedef T5 item5;
1249 typedef T6 item6;
1250 typedef T7 item7;
1251 typedef T8 item8;
1252 typedef T9 item9;
1253 typedef T10 item10;
1254 typedef T11 item11;
1255 typedef T12 item12;
1256 typedef T13 item13;
1257 typedef T14 item14;
1258 typedef T15 item15;
1259 typedef T16 item16;
1260 typedef T17 item17;
1261
1262
1263 typedef void_ item18;
1264 typedef T17 back;
1265 typedef v_iter< type,0 > begin;
1266 typedef v_iter< type,18 > end;
1267 };
1268
1269 template<>
1270 struct push_front_impl< aux::vector_tag<17> >
1271 {
1272 template< typename Vector, typename T > struct apply
1273 {
1274 typedef vector18<
1275 T
1276 ,
1277 typename Vector::item0, typename Vector::item1
1278 , typename Vector::item2, typename Vector::item3
1279 , typename Vector::item4, typename Vector::item5
1280 , typename Vector::item6, typename Vector::item7
1281 , typename Vector::item8, typename Vector::item9
1282 , typename Vector::item10, typename Vector::item11
1283 , typename Vector::item12, typename Vector::item13
1284 , typename Vector::item14, typename Vector::item15
1285 , typename Vector::item16
1286 > type;
1287 };
1288 };
1289
1290 template<>
1291 struct pop_front_impl< aux::vector_tag<18> >
1292 {
1293 template< typename Vector > struct apply
1294 {
1295 typedef vector17<
1296 typename Vector::item1, typename Vector::item2
1297 , typename Vector::item3, typename Vector::item4
1298 , typename Vector::item5, typename Vector::item6
1299 , typename Vector::item7, typename Vector::item8
1300 , typename Vector::item9, typename Vector::item10
1301 , typename Vector::item11, typename Vector::item12
1302 , typename Vector::item13, typename Vector::item14
1303 , typename Vector::item15, typename Vector::item16
1304 , typename Vector::item17
1305 > type;
1306 };
1307 };
1308
1309 template<>
1310 struct push_back_impl< aux::vector_tag<17> >
1311 {
1312 template< typename Vector, typename T > struct apply
1313 {
1314 typedef vector18<
1315 typename Vector::item0, typename Vector::item1
1316 , typename Vector::item2, typename Vector::item3
1317 , typename Vector::item4, typename Vector::item5
1318 , typename Vector::item6, typename Vector::item7
1319 , typename Vector::item8, typename Vector::item9
1320 , typename Vector::item10, typename Vector::item11
1321 , typename Vector::item12, typename Vector::item13
1322 , typename Vector::item14, typename Vector::item15
1323 , typename Vector::item16
1324 ,
1325 T
1326 > type;
1327 };
1328 };
1329
1330 template<>
1331 struct pop_back_impl< aux::vector_tag<18> >
1332 {
1333 template< typename Vector > struct apply
1334 {
1335 typedef vector17<
1336 typename Vector::item0, typename Vector::item1
1337 , typename Vector::item2, typename Vector::item3
1338 , typename Vector::item4, typename Vector::item5
1339 , typename Vector::item6, typename Vector::item7
1340 , typename Vector::item8, typename Vector::item9
1341 , typename Vector::item10, typename Vector::item11
1342 , typename Vector::item12, typename Vector::item13
1343 , typename Vector::item14, typename Vector::item15
1344 , typename Vector::item16
1345 > type;
1346 };
1347 };
1348
1349 namespace aux {
1350 template<> struct v_at_impl<18>
1351 {
1352 template< typename V_ > struct result_
1353 {
1354 typedef typename V_::item18 type;
1355 };
1356 };
1357
1358 }
1359
1360 template<>
1361 struct at_impl< aux::vector_tag<18> >
1362 {
1363 template< typename V_, typename N > struct apply
1364 {
1365 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1366 ::template result_<V_>::type type;
1367 };
1368 };
1369
1370 template<>
1371 struct front_impl< aux::vector_tag<18> >
1372 {
1373 template< typename Vector > struct apply
1374 {
1375 typedef typename Vector::item0 type;
1376 };
1377 };
1378
1379 template<>
1380 struct back_impl< aux::vector_tag<18> >
1381 {
1382 template< typename Vector > struct apply
1383 {
1384 typedef typename Vector::back type;
1385 };
1386 };
1387
1388 template<>
1389 struct empty_impl< aux::vector_tag<18> >
1390 {
1391 template< typename Vector > struct apply
1392 : false_
1393 {
1394 };
1395 };
1396
1397 template<>
1398 struct size_impl< aux::vector_tag<18> >
1399 {
1400 template< typename Vector > struct apply
1401 : long_<18>
1402 {
1403 };
1404 };
1405
1406 template<>
1407 struct O1_size_impl< aux::vector_tag<18> >
1408 : size_impl< aux::vector_tag<18> >
1409 {
1410 };
1411
1412 template<>
1413 struct clear_impl< aux::vector_tag<18> >
1414 {
1415 template< typename Vector > struct apply
1416 {
1417 typedef vector0<> type;
1418 };
1419 };
1420
1421 template<
1422 typename T0, typename T1, typename T2, typename T3, typename T4
1423 , typename T5, typename T6, typename T7, typename T8, typename T9
1424 , typename T10, typename T11, typename T12, typename T13, typename T14
1425 , typename T15, typename T16, typename T17, typename T18
1426 >
1427 struct vector19
1428 {
1429 typedef aux::vector_tag<19> tag;
1430 typedef vector19 type;
1431 typedef T0 item0;
1432 typedef T1 item1;
1433 typedef T2 item2;
1434 typedef T3 item3;
1435 typedef T4 item4;
1436 typedef T5 item5;
1437 typedef T6 item6;
1438 typedef T7 item7;
1439 typedef T8 item8;
1440 typedef T9 item9;
1441 typedef T10 item10;
1442 typedef T11 item11;
1443 typedef T12 item12;
1444 typedef T13 item13;
1445 typedef T14 item14;
1446 typedef T15 item15;
1447 typedef T16 item16;
1448 typedef T17 item17;
1449 typedef T18 item18;
1450
1451
1452 typedef void_ item19;
1453 typedef T18 back;
1454 typedef v_iter< type,0 > begin;
1455 typedef v_iter< type,19 > end;
1456 };
1457
1458 template<>
1459 struct push_front_impl< aux::vector_tag<18> >
1460 {
1461 template< typename Vector, typename T > struct apply
1462 {
1463 typedef vector19<
1464 T
1465 ,
1466 typename Vector::item0, typename Vector::item1
1467 , typename Vector::item2, typename Vector::item3
1468 , typename Vector::item4, typename Vector::item5
1469 , typename Vector::item6, typename Vector::item7
1470 , typename Vector::item8, typename Vector::item9
1471 , typename Vector::item10, typename Vector::item11
1472 , typename Vector::item12, typename Vector::item13
1473 , typename Vector::item14, typename Vector::item15
1474 , typename Vector::item16, typename Vector::item17
1475 > type;
1476 };
1477 };
1478
1479 template<>
1480 struct pop_front_impl< aux::vector_tag<19> >
1481 {
1482 template< typename Vector > struct apply
1483 {
1484 typedef vector18<
1485 typename Vector::item1, typename Vector::item2
1486 , typename Vector::item3, typename Vector::item4
1487 , typename Vector::item5, typename Vector::item6
1488 , typename Vector::item7, typename Vector::item8
1489 , typename Vector::item9, typename Vector::item10
1490 , typename Vector::item11, typename Vector::item12
1491 , typename Vector::item13, typename Vector::item14
1492 , typename Vector::item15, typename Vector::item16
1493 , typename Vector::item17, typename Vector::item18
1494 > type;
1495 };
1496 };
1497
1498 template<>
1499 struct push_back_impl< aux::vector_tag<18> >
1500 {
1501 template< typename Vector, typename T > struct apply
1502 {
1503 typedef vector19<
1504 typename Vector::item0, typename Vector::item1
1505 , typename Vector::item2, typename Vector::item3
1506 , typename Vector::item4, typename Vector::item5
1507 , typename Vector::item6, typename Vector::item7
1508 , typename Vector::item8, typename Vector::item9
1509 , typename Vector::item10, typename Vector::item11
1510 , typename Vector::item12, typename Vector::item13
1511 , typename Vector::item14, typename Vector::item15
1512 , typename Vector::item16, typename Vector::item17
1513 ,
1514 T
1515 > type;
1516 };
1517 };
1518
1519 template<>
1520 struct pop_back_impl< aux::vector_tag<19> >
1521 {
1522 template< typename Vector > struct apply
1523 {
1524 typedef vector18<
1525 typename Vector::item0, typename Vector::item1
1526 , typename Vector::item2, typename Vector::item3
1527 , typename Vector::item4, typename Vector::item5
1528 , typename Vector::item6, typename Vector::item7
1529 , typename Vector::item8, typename Vector::item9
1530 , typename Vector::item10, typename Vector::item11
1531 , typename Vector::item12, typename Vector::item13
1532 , typename Vector::item14, typename Vector::item15
1533 , typename Vector::item16, typename Vector::item17
1534 > type;
1535 };
1536 };
1537
1538 namespace aux {
1539 template<> struct v_at_impl<19>
1540 {
1541 template< typename V_ > struct result_
1542 {
1543 typedef typename V_::item19 type;
1544 };
1545 };
1546
1547 }
1548
1549 template<>
1550 struct at_impl< aux::vector_tag<19> >
1551 {
1552 template< typename V_, typename N > struct apply
1553 {
1554 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1555 ::template result_<V_>::type type;
1556 };
1557 };
1558
1559 template<>
1560 struct front_impl< aux::vector_tag<19> >
1561 {
1562 template< typename Vector > struct apply
1563 {
1564 typedef typename Vector::item0 type;
1565 };
1566 };
1567
1568 template<>
1569 struct back_impl< aux::vector_tag<19> >
1570 {
1571 template< typename Vector > struct apply
1572 {
1573 typedef typename Vector::back type;
1574 };
1575 };
1576
1577 template<>
1578 struct empty_impl< aux::vector_tag<19> >
1579 {
1580 template< typename Vector > struct apply
1581 : false_
1582 {
1583 };
1584 };
1585
1586 template<>
1587 struct size_impl< aux::vector_tag<19> >
1588 {
1589 template< typename Vector > struct apply
1590 : long_<19>
1591 {
1592 };
1593 };
1594
1595 template<>
1596 struct O1_size_impl< aux::vector_tag<19> >
1597 : size_impl< aux::vector_tag<19> >
1598 {
1599 };
1600
1601 template<>
1602 struct clear_impl< aux::vector_tag<19> >
1603 {
1604 template< typename Vector > struct apply
1605 {
1606 typedef vector0<> type;
1607 };
1608 };
1609
1610 template<
1611 typename T0, typename T1, typename T2, typename T3, typename T4
1612 , typename T5, typename T6, typename T7, typename T8, typename T9
1613 , typename T10, typename T11, typename T12, typename T13, typename T14
1614 , typename T15, typename T16, typename T17, typename T18, typename T19
1615 >
1616 struct vector20
1617 {
1618 typedef aux::vector_tag<20> tag;
1619 typedef vector20 type;
1620 typedef T0 item0;
1621 typedef T1 item1;
1622 typedef T2 item2;
1623 typedef T3 item3;
1624 typedef T4 item4;
1625 typedef T5 item5;
1626 typedef T6 item6;
1627 typedef T7 item7;
1628 typedef T8 item8;
1629 typedef T9 item9;
1630 typedef T10 item10;
1631 typedef T11 item11;
1632 typedef T12 item12;
1633 typedef T13 item13;
1634 typedef T14 item14;
1635 typedef T15 item15;
1636 typedef T16 item16;
1637 typedef T17 item17;
1638 typedef T18 item18;
1639 typedef T19 item19;
1640
1641
1642 typedef void_ item20;
1643 typedef T19 back;
1644 typedef v_iter< type,0 > begin;
1645 typedef v_iter< type,20 > end;
1646 };
1647
1648 template<>
1649 struct push_front_impl< aux::vector_tag<19> >
1650 {
1651 template< typename Vector, typename T > struct apply
1652 {
1653 typedef vector20<
1654 T
1655 ,
1656 typename Vector::item0, typename Vector::item1
1657 , typename Vector::item2, typename Vector::item3
1658 , typename Vector::item4, typename Vector::item5
1659 , typename Vector::item6, typename Vector::item7
1660 , typename Vector::item8, typename Vector::item9
1661 , typename Vector::item10, typename Vector::item11
1662 , typename Vector::item12, typename Vector::item13
1663 , typename Vector::item14, typename Vector::item15
1664 , typename Vector::item16, typename Vector::item17
1665 , typename Vector::item18
1666 > type;
1667 };
1668 };
1669
1670 template<>
1671 struct pop_front_impl< aux::vector_tag<20> >
1672 {
1673 template< typename Vector > struct apply
1674 {
1675 typedef vector19<
1676 typename Vector::item1, typename Vector::item2
1677 , typename Vector::item3, typename Vector::item4
1678 , typename Vector::item5, typename Vector::item6
1679 , typename Vector::item7, typename Vector::item8
1680 , typename Vector::item9, typename Vector::item10
1681 , typename Vector::item11, typename Vector::item12
1682 , typename Vector::item13, typename Vector::item14
1683 , typename Vector::item15, typename Vector::item16
1684 , typename Vector::item17, typename Vector::item18
1685 , typename Vector::item19
1686 > type;
1687 };
1688 };
1689
1690 template<>
1691 struct push_back_impl< aux::vector_tag<19> >
1692 {
1693 template< typename Vector, typename T > struct apply
1694 {
1695 typedef vector20<
1696 typename Vector::item0, typename Vector::item1
1697 , typename Vector::item2, typename Vector::item3
1698 , typename Vector::item4, typename Vector::item5
1699 , typename Vector::item6, typename Vector::item7
1700 , typename Vector::item8, typename Vector::item9
1701 , typename Vector::item10, typename Vector::item11
1702 , typename Vector::item12, typename Vector::item13
1703 , typename Vector::item14, typename Vector::item15
1704 , typename Vector::item16, typename Vector::item17
1705 , typename Vector::item18
1706 ,
1707 T
1708 > type;
1709 };
1710 };
1711
1712 template<>
1713 struct pop_back_impl< aux::vector_tag<20> >
1714 {
1715 template< typename Vector > struct apply
1716 {
1717 typedef vector19<
1718 typename Vector::item0, typename Vector::item1
1719 , typename Vector::item2, typename Vector::item3
1720 , typename Vector::item4, typename Vector::item5
1721 , typename Vector::item6, typename Vector::item7
1722 , typename Vector::item8, typename Vector::item9
1723 , typename Vector::item10, typename Vector::item11
1724 , typename Vector::item12, typename Vector::item13
1725 , typename Vector::item14, typename Vector::item15
1726 , typename Vector::item16, typename Vector::item17
1727 , typename Vector::item18
1728 > type;
1729 };
1730 };
1731
1732 namespace aux {
1733 template<> struct v_at_impl<20>
1734 {
1735 template< typename V_ > struct result_
1736 {
1737 typedef typename V_::item20 type;
1738 };
1739 };
1740
1741 }
1742
1743 template<>
1744 struct at_impl< aux::vector_tag<20> >
1745 {
1746 template< typename V_, typename N > struct apply
1747 {
1748 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1749 ::template result_<V_>::type type;
1750 };
1751 };
1752
1753 template<>
1754 struct front_impl< aux::vector_tag<20> >
1755 {
1756 template< typename Vector > struct apply
1757 {
1758 typedef typename Vector::item0 type;
1759 };
1760 };
1761
1762 template<>
1763 struct back_impl< aux::vector_tag<20> >
1764 {
1765 template< typename Vector > struct apply
1766 {
1767 typedef typename Vector::back type;
1768 };
1769 };
1770
1771 template<>
1772 struct empty_impl< aux::vector_tag<20> >
1773 {
1774 template< typename Vector > struct apply
1775 : false_
1776 {
1777 };
1778 };
1779
1780 template<>
1781 struct size_impl< aux::vector_tag<20> >
1782 {
1783 template< typename Vector > struct apply
1784 : long_<20>
1785 {
1786 };
1787 };
1788
1789 template<>
1790 struct O1_size_impl< aux::vector_tag<20> >
1791 : size_impl< aux::vector_tag<20> >
1792 {
1793 };
1794
1795 template<>
1796 struct clear_impl< aux::vector_tag<20> >
1797 {
1798 template< typename Vector > struct apply
1799 {
1800 typedef vector0<> type;
1801 };
1802 };
1803
1804 }}