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