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