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