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