1 2 // Copyright Aleksey Gurtovoy 2000-2004 3 // 4 // Distributed under the Boost Software License, Version 1.0. 5 // (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 // 8 9 // Preprocessed version of "boost/mpl/vector/vector30.hpp" header 10 // -- DO NOT modify by hand! 11 12 namespace boost { namespace mpl { 13 14 template< 15 typename T0, typename T1, typename T2, typename T3, typename T4 16 , typename T5, typename T6, typename T7, typename T8, typename T9 17 , typename T10, typename T11, typename T12, typename T13, typename T14 18 , typename T15, typename T16, typename T17, typename T18, typename T19 19 , typename T20 20 > 21 struct vector21 22 { 23 typedef aux::vector_tag<21> tag; 24 typedef vector21 type; 25 typedef T0 item0; 26 typedef T1 item1; 27 typedef T2 item2; 28 typedef T3 item3; 29 typedef T4 item4; 30 typedef T5 item5; 31 typedef T6 item6; 32 typedef T7 item7; 33 typedef T8 item8; 34 typedef T9 item9; 35 typedef T10 item10; 36 typedef T11 item11; 37 typedef T12 item12; 38 typedef T13 item13; 39 typedef T14 item14; 40 typedef T15 item15; 41 typedef T16 item16; 42 typedef T17 item17; 43 typedef T18 item18; 44 typedef T19 item19; 45 typedef T20 item20; 46 47 48 typedef void_ item21; 49 typedef T20 back; 50 typedef v_iter< type,0 > begin; 51 typedef v_iter< type,21 > end; 52 }; 53 54 template<> 55 struct push_front_impl< aux::vector_tag<20> > 56 { 57 template< typename Vector, typename T > struct apply 58 { 59 typedef vector21< 60 T 61 , 62 typename Vector::item0, typename Vector::item1 63 , typename Vector::item2, typename Vector::item3 64 , typename Vector::item4, typename Vector::item5 65 , typename Vector::item6, typename Vector::item7 66 , typename Vector::item8, typename Vector::item9 67 , typename Vector::item10, typename Vector::item11 68 , typename Vector::item12, typename Vector::item13 69 , typename Vector::item14, typename Vector::item15 70 , typename Vector::item16, typename Vector::item17 71 , typename Vector::item18, typename Vector::item19 72 > type; 73 }; 74 }; 75 76 template<> 77 struct pop_front_impl< aux::vector_tag<21> > 78 { 79 template< typename Vector > struct apply 80 { 81 typedef vector20< 82 typename Vector::item1, typename Vector::item2 83 , typename Vector::item3, typename Vector::item4 84 , typename Vector::item5, typename Vector::item6 85 , typename Vector::item7, typename Vector::item8 86 , typename Vector::item9, typename Vector::item10 87 , typename Vector::item11, typename Vector::item12 88 , typename Vector::item13, typename Vector::item14 89 , typename Vector::item15, typename Vector::item16 90 , typename Vector::item17, typename Vector::item18 91 , typename Vector::item19, typename Vector::item20 92 > type; 93 }; 94 }; 95 96 template<> 97 struct push_back_impl< aux::vector_tag<20> > 98 { 99 template< typename Vector, typename T > struct apply 100 { 101 typedef vector21< 102 typename Vector::item0, typename Vector::item1 103 , typename Vector::item2, typename Vector::item3 104 , typename Vector::item4, typename Vector::item5 105 , typename Vector::item6, typename Vector::item7 106 , typename Vector::item8, typename Vector::item9 107 , typename Vector::item10, typename Vector::item11 108 , typename Vector::item12, typename Vector::item13 109 , typename Vector::item14, typename Vector::item15 110 , typename Vector::item16, typename Vector::item17 111 , typename Vector::item18, typename Vector::item19 112 , 113 T 114 > type; 115 }; 116 }; 117 118 template<> 119 struct pop_back_impl< aux::vector_tag<21> > 120 { 121 template< typename Vector > struct apply 122 { 123 typedef vector20< 124 typename Vector::item0, typename Vector::item1 125 , typename Vector::item2, typename Vector::item3 126 , typename Vector::item4, typename Vector::item5 127 , typename Vector::item6, typename Vector::item7 128 , typename Vector::item8, typename Vector::item9 129 , typename Vector::item10, typename Vector::item11 130 , typename Vector::item12, typename Vector::item13 131 , typename Vector::item14, typename Vector::item15 132 , typename Vector::item16, typename Vector::item17 133 , typename Vector::item18, typename Vector::item19 134 > type; 135 }; 136 }; 137 138 template< typename V > 139 struct v_at< V,21 > 140 { 141 typedef typename V::item21 type; 142 }; 143 144 template< 145 typename T0, typename T1, typename T2, typename T3, typename T4 146 , typename T5, typename T6, typename T7, typename T8, typename T9 147 , typename T10, typename T11, typename T12, typename T13, typename T14 148 , typename T15, typename T16, typename T17, typename T18, typename T19 149 , typename T20, typename T21 150 > 151 struct vector22 152 { 153 typedef aux::vector_tag<22> tag; 154 typedef vector22 type; 155 typedef T0 item0; 156 typedef T1 item1; 157 typedef T2 item2; 158 typedef T3 item3; 159 typedef T4 item4; 160 typedef T5 item5; 161 typedef T6 item6; 162 typedef T7 item7; 163 typedef T8 item8; 164 typedef T9 item9; 165 typedef T10 item10; 166 typedef T11 item11; 167 typedef T12 item12; 168 typedef T13 item13; 169 typedef T14 item14; 170 typedef T15 item15; 171 typedef T16 item16; 172 typedef T17 item17; 173 typedef T18 item18; 174 typedef T19 item19; 175 typedef T20 item20; 176 typedef T21 item21; 177 178 179 typedef void_ item22; 180 typedef T21 back; 181 typedef v_iter< type,0 > begin; 182 typedef v_iter< type,22 > end; 183 }; 184 185 template<> 186 struct push_front_impl< aux::vector_tag<21> > 187 { 188 template< typename Vector, typename T > struct apply 189 { 190 typedef vector22< 191 T 192 , 193 typename Vector::item0, typename Vector::item1 194 , typename Vector::item2, typename Vector::item3 195 , typename Vector::item4, typename Vector::item5 196 , typename Vector::item6, typename Vector::item7 197 , typename Vector::item8, typename Vector::item9 198 , typename Vector::item10, typename Vector::item11 199 , typename Vector::item12, typename Vector::item13 200 , typename Vector::item14, typename Vector::item15 201 , typename Vector::item16, typename Vector::item17 202 , typename Vector::item18, typename Vector::item19 203 , typename Vector::item20 204 > type; 205 }; 206 }; 207 208 template<> 209 struct pop_front_impl< aux::vector_tag<22> > 210 { 211 template< typename Vector > struct apply 212 { 213 typedef vector21< 214 typename Vector::item1, typename Vector::item2 215 , typename Vector::item3, typename Vector::item4 216 , typename Vector::item5, typename Vector::item6 217 , typename Vector::item7, typename Vector::item8 218 , typename Vector::item9, typename Vector::item10 219 , typename Vector::item11, typename Vector::item12 220 , typename Vector::item13, typename Vector::item14 221 , typename Vector::item15, typename Vector::item16 222 , typename Vector::item17, typename Vector::item18 223 , typename Vector::item19, typename Vector::item20 224 , typename Vector::item21 225 > type; 226 }; 227 }; 228 229 template<> 230 struct push_back_impl< aux::vector_tag<21> > 231 { 232 template< typename Vector, typename T > struct apply 233 { 234 typedef vector22< 235 typename Vector::item0, typename Vector::item1 236 , typename Vector::item2, typename Vector::item3 237 , typename Vector::item4, typename Vector::item5 238 , typename Vector::item6, typename Vector::item7 239 , typename Vector::item8, typename Vector::item9 240 , typename Vector::item10, typename Vector::item11 241 , typename Vector::item12, typename Vector::item13 242 , typename Vector::item14, typename Vector::item15 243 , typename Vector::item16, typename Vector::item17 244 , typename Vector::item18, typename Vector::item19 245 , typename Vector::item20 246 , 247 T 248 > type; 249 }; 250 }; 251 252 template<> 253 struct pop_back_impl< aux::vector_tag<22> > 254 { 255 template< typename Vector > struct apply 256 { 257 typedef vector21< 258 typename Vector::item0, typename Vector::item1 259 , typename Vector::item2, typename Vector::item3 260 , typename Vector::item4, typename Vector::item5 261 , typename Vector::item6, typename Vector::item7 262 , typename Vector::item8, typename Vector::item9 263 , typename Vector::item10, typename Vector::item11 264 , typename Vector::item12, typename Vector::item13 265 , typename Vector::item14, typename Vector::item15 266 , typename Vector::item16, typename Vector::item17 267 , typename Vector::item18, typename Vector::item19 268 , typename Vector::item20 269 > type; 270 }; 271 }; 272 273 template< typename V > 274 struct v_at< V,22 > 275 { 276 typedef typename V::item22 type; 277 }; 278 279 template< 280 typename T0, typename T1, typename T2, typename T3, typename T4 281 , typename T5, typename T6, typename T7, typename T8, typename T9 282 , typename T10, typename T11, typename T12, typename T13, typename T14 283 , typename T15, typename T16, typename T17, typename T18, typename T19 284 , typename T20, typename T21, typename T22 285 > 286 struct vector23 287 { 288 typedef aux::vector_tag<23> tag; 289 typedef vector23 type; 290 typedef T0 item0; 291 typedef T1 item1; 292 typedef T2 item2; 293 typedef T3 item3; 294 typedef T4 item4; 295 typedef T5 item5; 296 typedef T6 item6; 297 typedef T7 item7; 298 typedef T8 item8; 299 typedef T9 item9; 300 typedef T10 item10; 301 typedef T11 item11; 302 typedef T12 item12; 303 typedef T13 item13; 304 typedef T14 item14; 305 typedef T15 item15; 306 typedef T16 item16; 307 typedef T17 item17; 308 typedef T18 item18; 309 typedef T19 item19; 310 typedef T20 item20; 311 typedef T21 item21; 312 typedef T22 item22; 313 314 315 typedef void_ item23; 316 typedef T22 back; 317 typedef v_iter< type,0 > begin; 318 typedef v_iter< type,23 > end; 319 }; 320 321 template<> 322 struct push_front_impl< aux::vector_tag<22> > 323 { 324 template< typename Vector, typename T > struct apply 325 { 326 typedef vector23< 327 T 328 , 329 typename Vector::item0, typename Vector::item1 330 , typename Vector::item2, typename Vector::item3 331 , typename Vector::item4, typename Vector::item5 332 , typename Vector::item6, typename Vector::item7 333 , typename Vector::item8, typename Vector::item9 334 , typename Vector::item10, typename Vector::item11 335 , typename Vector::item12, typename Vector::item13 336 , typename Vector::item14, typename Vector::item15 337 , typename Vector::item16, typename Vector::item17 338 , typename Vector::item18, typename Vector::item19 339 , typename Vector::item20, typename Vector::item21 340 > type; 341 }; 342 }; 343 344 template<> 345 struct pop_front_impl< aux::vector_tag<23> > 346 { 347 template< typename Vector > struct apply 348 { 349 typedef vector22< 350 typename Vector::item1, typename Vector::item2 351 , typename Vector::item3, typename Vector::item4 352 , typename Vector::item5, typename Vector::item6 353 , typename Vector::item7, typename Vector::item8 354 , typename Vector::item9, typename Vector::item10 355 , typename Vector::item11, typename Vector::item12 356 , typename Vector::item13, typename Vector::item14 357 , typename Vector::item15, typename Vector::item16 358 , typename Vector::item17, typename Vector::item18 359 , typename Vector::item19, typename Vector::item20 360 , typename Vector::item21, typename Vector::item22 361 > type; 362 }; 363 }; 364 365 template<> 366 struct push_back_impl< aux::vector_tag<22> > 367 { 368 template< typename Vector, typename T > struct apply 369 { 370 typedef vector23< 371 typename Vector::item0, typename Vector::item1 372 , typename Vector::item2, typename Vector::item3 373 , typename Vector::item4, typename Vector::item5 374 , typename Vector::item6, typename Vector::item7 375 , typename Vector::item8, typename Vector::item9 376 , typename Vector::item10, typename Vector::item11 377 , typename Vector::item12, typename Vector::item13 378 , typename Vector::item14, typename Vector::item15 379 , typename Vector::item16, typename Vector::item17 380 , typename Vector::item18, typename Vector::item19 381 , typename Vector::item20, typename Vector::item21 382 , 383 T 384 > type; 385 }; 386 }; 387 388 template<> 389 struct pop_back_impl< aux::vector_tag<23> > 390 { 391 template< typename Vector > struct apply 392 { 393 typedef vector22< 394 typename Vector::item0, typename Vector::item1 395 , typename Vector::item2, typename Vector::item3 396 , typename Vector::item4, typename Vector::item5 397 , typename Vector::item6, typename Vector::item7 398 , typename Vector::item8, typename Vector::item9 399 , typename Vector::item10, typename Vector::item11 400 , typename Vector::item12, typename Vector::item13 401 , typename Vector::item14, typename Vector::item15 402 , typename Vector::item16, typename Vector::item17 403 , typename Vector::item18, typename Vector::item19 404 , typename Vector::item20, typename Vector::item21 405 > type; 406 }; 407 }; 408 409 template< typename V > 410 struct v_at< V,23 > 411 { 412 typedef typename V::item23 type; 413 }; 414 415 template< 416 typename T0, typename T1, typename T2, typename T3, typename T4 417 , typename T5, typename T6, typename T7, typename T8, typename T9 418 , typename T10, typename T11, typename T12, typename T13, typename T14 419 , typename T15, typename T16, typename T17, typename T18, typename T19 420 , typename T20, typename T21, typename T22, typename T23 421 > 422 struct vector24 423 { 424 typedef aux::vector_tag<24> tag; 425 typedef vector24 type; 426 typedef T0 item0; 427 typedef T1 item1; 428 typedef T2 item2; 429 typedef T3 item3; 430 typedef T4 item4; 431 typedef T5 item5; 432 typedef T6 item6; 433 typedef T7 item7; 434 typedef T8 item8; 435 typedef T9 item9; 436 typedef T10 item10; 437 typedef T11 item11; 438 typedef T12 item12; 439 typedef T13 item13; 440 typedef T14 item14; 441 typedef T15 item15; 442 typedef T16 item16; 443 typedef T17 item17; 444 typedef T18 item18; 445 typedef T19 item19; 446 typedef T20 item20; 447 typedef T21 item21; 448 typedef T22 item22; 449 typedef T23 item23; 450 451 452 typedef void_ item24; 453 typedef T23 back; 454 typedef v_iter< type,0 > begin; 455 typedef v_iter< type,24 > end; 456 }; 457 458 template<> 459 struct push_front_impl< aux::vector_tag<23> > 460 { 461 template< typename Vector, typename T > struct apply 462 { 463 typedef vector24< 464 T 465 , 466 typename Vector::item0, typename Vector::item1 467 , typename Vector::item2, typename Vector::item3 468 , typename Vector::item4, typename Vector::item5 469 , typename Vector::item6, typename Vector::item7 470 , typename Vector::item8, typename Vector::item9 471 , typename Vector::item10, typename Vector::item11 472 , typename Vector::item12, typename Vector::item13 473 , typename Vector::item14, typename Vector::item15 474 , typename Vector::item16, typename Vector::item17 475 , typename Vector::item18, typename Vector::item19 476 , typename Vector::item20, typename Vector::item21 477 , typename Vector::item22 478 > type; 479 }; 480 }; 481 482 template<> 483 struct pop_front_impl< aux::vector_tag<24> > 484 { 485 template< typename Vector > struct apply 486 { 487 typedef vector23< 488 typename Vector::item1, typename Vector::item2 489 , typename Vector::item3, typename Vector::item4 490 , typename Vector::item5, typename Vector::item6 491 , typename Vector::item7, typename Vector::item8 492 , typename Vector::item9, typename Vector::item10 493 , typename Vector::item11, typename Vector::item12 494 , typename Vector::item13, typename Vector::item14 495 , typename Vector::item15, typename Vector::item16 496 , typename Vector::item17, typename Vector::item18 497 , typename Vector::item19, typename Vector::item20 498 , typename Vector::item21, typename Vector::item22 499 , typename Vector::item23 500 > type; 501 }; 502 }; 503 504 template<> 505 struct push_back_impl< aux::vector_tag<23> > 506 { 507 template< typename Vector, typename T > struct apply 508 { 509 typedef vector24< 510 typename Vector::item0, typename Vector::item1 511 , typename Vector::item2, typename Vector::item3 512 , typename Vector::item4, typename Vector::item5 513 , typename Vector::item6, typename Vector::item7 514 , typename Vector::item8, typename Vector::item9 515 , typename Vector::item10, typename Vector::item11 516 , typename Vector::item12, typename Vector::item13 517 , typename Vector::item14, typename Vector::item15 518 , typename Vector::item16, typename Vector::item17 519 , typename Vector::item18, typename Vector::item19 520 , typename Vector::item20, typename Vector::item21 521 , typename Vector::item22 522 , 523 T 524 > type; 525 }; 526 }; 527 528 template<> 529 struct pop_back_impl< aux::vector_tag<24> > 530 { 531 template< typename Vector > struct apply 532 { 533 typedef vector23< 534 typename Vector::item0, typename Vector::item1 535 , typename Vector::item2, typename Vector::item3 536 , typename Vector::item4, typename Vector::item5 537 , typename Vector::item6, typename Vector::item7 538 , typename Vector::item8, typename Vector::item9 539 , typename Vector::item10, typename Vector::item11 540 , typename Vector::item12, typename Vector::item13 541 , typename Vector::item14, typename Vector::item15 542 , typename Vector::item16, typename Vector::item17 543 , typename Vector::item18, typename Vector::item19 544 , typename Vector::item20, typename Vector::item21 545 , typename Vector::item22 546 > type; 547 }; 548 }; 549 550 template< typename V > 551 struct v_at< V,24 > 552 { 553 typedef typename V::item24 type; 554 }; 555 556 template< 557 typename T0, typename T1, typename T2, typename T3, typename T4 558 , typename T5, typename T6, typename T7, typename T8, typename T9 559 , typename T10, typename T11, typename T12, typename T13, typename T14 560 , typename T15, typename T16, typename T17, typename T18, typename T19 561 , typename T20, typename T21, typename T22, typename T23, typename T24 562 > 563 struct vector25 564 { 565 typedef aux::vector_tag<25> tag; 566 typedef vector25 type; 567 typedef T0 item0; 568 typedef T1 item1; 569 typedef T2 item2; 570 typedef T3 item3; 571 typedef T4 item4; 572 typedef T5 item5; 573 typedef T6 item6; 574 typedef T7 item7; 575 typedef T8 item8; 576 typedef T9 item9; 577 typedef T10 item10; 578 typedef T11 item11; 579 typedef T12 item12; 580 typedef T13 item13; 581 typedef T14 item14; 582 typedef T15 item15; 583 typedef T16 item16; 584 typedef T17 item17; 585 typedef T18 item18; 586 typedef T19 item19; 587 typedef T20 item20; 588 typedef T21 item21; 589 typedef T22 item22; 590 typedef T23 item23; 591 typedef T24 item24; 592 593 594 typedef void_ item25; 595 typedef T24 back; 596 typedef v_iter< type,0 > begin; 597 typedef v_iter< type,25 > end; 598 }; 599 600 template<> 601 struct push_front_impl< aux::vector_tag<24> > 602 { 603 template< typename Vector, typename T > struct apply 604 { 605 typedef vector25< 606 T 607 , 608 typename Vector::item0, typename Vector::item1 609 , typename Vector::item2, typename Vector::item3 610 , typename Vector::item4, typename Vector::item5 611 , typename Vector::item6, typename Vector::item7 612 , typename Vector::item8, typename Vector::item9 613 , typename Vector::item10, typename Vector::item11 614 , typename Vector::item12, typename Vector::item13 615 , typename Vector::item14, typename Vector::item15 616 , typename Vector::item16, typename Vector::item17 617 , typename Vector::item18, typename Vector::item19 618 , typename Vector::item20, typename Vector::item21 619 , typename Vector::item22, typename Vector::item23 620 > type; 621 }; 622 }; 623 624 template<> 625 struct pop_front_impl< aux::vector_tag<25> > 626 { 627 template< typename Vector > struct apply 628 { 629 typedef vector24< 630 typename Vector::item1, typename Vector::item2 631 , typename Vector::item3, typename Vector::item4 632 , typename Vector::item5, typename Vector::item6 633 , typename Vector::item7, typename Vector::item8 634 , typename Vector::item9, typename Vector::item10 635 , typename Vector::item11, typename Vector::item12 636 , typename Vector::item13, typename Vector::item14 637 , typename Vector::item15, typename Vector::item16 638 , typename Vector::item17, typename Vector::item18 639 , typename Vector::item19, typename Vector::item20 640 , typename Vector::item21, typename Vector::item22 641 , typename Vector::item23, typename Vector::item24 642 > type; 643 }; 644 }; 645 646 template<> 647 struct push_back_impl< aux::vector_tag<24> > 648 { 649 template< typename Vector, typename T > struct apply 650 { 651 typedef vector25< 652 typename Vector::item0, typename Vector::item1 653 , typename Vector::item2, typename Vector::item3 654 , typename Vector::item4, typename Vector::item5 655 , typename Vector::item6, typename Vector::item7 656 , typename Vector::item8, typename Vector::item9 657 , typename Vector::item10, typename Vector::item11 658 , typename Vector::item12, typename Vector::item13 659 , typename Vector::item14, typename Vector::item15 660 , typename Vector::item16, typename Vector::item17 661 , typename Vector::item18, typename Vector::item19 662 , typename Vector::item20, typename Vector::item21 663 , typename Vector::item22, typename Vector::item23 664 , 665 T 666 > type; 667 }; 668 }; 669 670 template<> 671 struct pop_back_impl< aux::vector_tag<25> > 672 { 673 template< typename Vector > struct apply 674 { 675 typedef vector24< 676 typename Vector::item0, typename Vector::item1 677 , typename Vector::item2, typename Vector::item3 678 , typename Vector::item4, typename Vector::item5 679 , typename Vector::item6, typename Vector::item7 680 , typename Vector::item8, typename Vector::item9 681 , typename Vector::item10, typename Vector::item11 682 , typename Vector::item12, typename Vector::item13 683 , typename Vector::item14, typename Vector::item15 684 , typename Vector::item16, typename Vector::item17 685 , typename Vector::item18, typename Vector::item19 686 , typename Vector::item20, typename Vector::item21 687 , typename Vector::item22, typename Vector::item23 688 > type; 689 }; 690 }; 691 692 template< typename V > 693 struct v_at< V,25 > 694 { 695 typedef typename V::item25 type; 696 }; 697 698 template< 699 typename T0, typename T1, typename T2, typename T3, typename T4 700 , typename T5, typename T6, typename T7, typename T8, typename T9 701 , typename T10, typename T11, typename T12, typename T13, typename T14 702 , typename T15, typename T16, typename T17, typename T18, typename T19 703 , typename T20, typename T21, typename T22, typename T23, typename T24 704 , typename T25 705 > 706 struct vector26 707 { 708 typedef aux::vector_tag<26> tag; 709 typedef vector26 type; 710 typedef T0 item0; 711 typedef T1 item1; 712 typedef T2 item2; 713 typedef T3 item3; 714 typedef T4 item4; 715 typedef T5 item5; 716 typedef T6 item6; 717 typedef T7 item7; 718 typedef T8 item8; 719 typedef T9 item9; 720 typedef T10 item10; 721 typedef T11 item11; 722 typedef T12 item12; 723 typedef T13 item13; 724 typedef T14 item14; 725 typedef T15 item15; 726 typedef T16 item16; 727 typedef T17 item17; 728 typedef T18 item18; 729 typedef T19 item19; 730 typedef T20 item20; 731 typedef T21 item21; 732 typedef T22 item22; 733 typedef T23 item23; 734 typedef T24 item24; 735 typedef T25 item25; 736 737 738 typedef void_ item26; 739 typedef T25 back; 740 typedef v_iter< type,0 > begin; 741 typedef v_iter< type,26 > end; 742 }; 743 744 template<> 745 struct push_front_impl< aux::vector_tag<25> > 746 { 747 template< typename Vector, typename T > struct apply 748 { 749 typedef vector26< 750 T 751 , 752 typename Vector::item0, typename Vector::item1 753 , typename Vector::item2, typename Vector::item3 754 , typename Vector::item4, typename Vector::item5 755 , typename Vector::item6, typename Vector::item7 756 , typename Vector::item8, typename Vector::item9 757 , typename Vector::item10, typename Vector::item11 758 , typename Vector::item12, typename Vector::item13 759 , typename Vector::item14, typename Vector::item15 760 , typename Vector::item16, typename Vector::item17 761 , typename Vector::item18, typename Vector::item19 762 , typename Vector::item20, typename Vector::item21 763 , typename Vector::item22, typename Vector::item23 764 , typename Vector::item24 765 > type; 766 }; 767 }; 768 769 template<> 770 struct pop_front_impl< aux::vector_tag<26> > 771 { 772 template< typename Vector > struct apply 773 { 774 typedef vector25< 775 typename Vector::item1, typename Vector::item2 776 , typename Vector::item3, typename Vector::item4 777 , typename Vector::item5, typename Vector::item6 778 , typename Vector::item7, typename Vector::item8 779 , typename Vector::item9, typename Vector::item10 780 , typename Vector::item11, typename Vector::item12 781 , typename Vector::item13, typename Vector::item14 782 , typename Vector::item15, typename Vector::item16 783 , typename Vector::item17, typename Vector::item18 784 , typename Vector::item19, typename Vector::item20 785 , typename Vector::item21, typename Vector::item22 786 , typename Vector::item23, typename Vector::item24 787 , typename Vector::item25 788 > type; 789 }; 790 }; 791 792 template<> 793 struct push_back_impl< aux::vector_tag<25> > 794 { 795 template< typename Vector, typename T > struct apply 796 { 797 typedef vector26< 798 typename Vector::item0, typename Vector::item1 799 , typename Vector::item2, typename Vector::item3 800 , typename Vector::item4, typename Vector::item5 801 , typename Vector::item6, typename Vector::item7 802 , typename Vector::item8, typename Vector::item9 803 , typename Vector::item10, typename Vector::item11 804 , typename Vector::item12, typename Vector::item13 805 , typename Vector::item14, typename Vector::item15 806 , typename Vector::item16, typename Vector::item17 807 , typename Vector::item18, typename Vector::item19 808 , typename Vector::item20, typename Vector::item21 809 , typename Vector::item22, typename Vector::item23 810 , typename Vector::item24 811 , 812 T 813 > type; 814 }; 815 }; 816 817 template<> 818 struct pop_back_impl< aux::vector_tag<26> > 819 { 820 template< typename Vector > struct apply 821 { 822 typedef vector25< 823 typename Vector::item0, typename Vector::item1 824 , typename Vector::item2, typename Vector::item3 825 , typename Vector::item4, typename Vector::item5 826 , typename Vector::item6, typename Vector::item7 827 , typename Vector::item8, typename Vector::item9 828 , typename Vector::item10, typename Vector::item11 829 , typename Vector::item12, typename Vector::item13 830 , typename Vector::item14, typename Vector::item15 831 , typename Vector::item16, typename Vector::item17 832 , typename Vector::item18, typename Vector::item19 833 , typename Vector::item20, typename Vector::item21 834 , typename Vector::item22, typename Vector::item23 835 , typename Vector::item24 836 > type; 837 }; 838 }; 839 840 template< typename V > 841 struct v_at< V,26 > 842 { 843 typedef typename V::item26 type; 844 }; 845 846 template< 847 typename T0, typename T1, typename T2, typename T3, typename T4 848 , typename T5, typename T6, typename T7, typename T8, typename T9 849 , typename T10, typename T11, typename T12, typename T13, typename T14 850 , typename T15, typename T16, typename T17, typename T18, typename T19 851 , typename T20, typename T21, typename T22, typename T23, typename T24 852 , typename T25, typename T26 853 > 854 struct vector27 855 { 856 typedef aux::vector_tag<27> tag; 857 typedef vector27 type; 858 typedef T0 item0; 859 typedef T1 item1; 860 typedef T2 item2; 861 typedef T3 item3; 862 typedef T4 item4; 863 typedef T5 item5; 864 typedef T6 item6; 865 typedef T7 item7; 866 typedef T8 item8; 867 typedef T9 item9; 868 typedef T10 item10; 869 typedef T11 item11; 870 typedef T12 item12; 871 typedef T13 item13; 872 typedef T14 item14; 873 typedef T15 item15; 874 typedef T16 item16; 875 typedef T17 item17; 876 typedef T18 item18; 877 typedef T19 item19; 878 typedef T20 item20; 879 typedef T21 item21; 880 typedef T22 item22; 881 typedef T23 item23; 882 typedef T24 item24; 883 typedef T25 item25; 884 typedef T26 item26; 885 886 887 typedef void_ item27; 888 typedef T26 back; 889 typedef v_iter< type,0 > begin; 890 typedef v_iter< type,27 > end; 891 }; 892 893 template<> 894 struct push_front_impl< aux::vector_tag<26> > 895 { 896 template< typename Vector, typename T > struct apply 897 { 898 typedef vector27< 899 T 900 , 901 typename Vector::item0, typename Vector::item1 902 , typename Vector::item2, typename Vector::item3 903 , typename Vector::item4, typename Vector::item5 904 , typename Vector::item6, typename Vector::item7 905 , typename Vector::item8, typename Vector::item9 906 , typename Vector::item10, typename Vector::item11 907 , typename Vector::item12, typename Vector::item13 908 , typename Vector::item14, typename Vector::item15 909 , typename Vector::item16, typename Vector::item17 910 , typename Vector::item18, typename Vector::item19 911 , typename Vector::item20, typename Vector::item21 912 , typename Vector::item22, typename Vector::item23 913 , typename Vector::item24, typename Vector::item25 914 > type; 915 }; 916 }; 917 918 template<> 919 struct pop_front_impl< aux::vector_tag<27> > 920 { 921 template< typename Vector > struct apply 922 { 923 typedef vector26< 924 typename Vector::item1, typename Vector::item2 925 , typename Vector::item3, typename Vector::item4 926 , typename Vector::item5, typename Vector::item6 927 , typename Vector::item7, typename Vector::item8 928 , typename Vector::item9, typename Vector::item10 929 , typename Vector::item11, typename Vector::item12 930 , typename Vector::item13, typename Vector::item14 931 , typename Vector::item15, typename Vector::item16 932 , typename Vector::item17, typename Vector::item18 933 , typename Vector::item19, typename Vector::item20 934 , typename Vector::item21, typename Vector::item22 935 , typename Vector::item23, typename Vector::item24 936 , typename Vector::item25, typename Vector::item26 937 > type; 938 }; 939 }; 940 941 template<> 942 struct push_back_impl< aux::vector_tag<26> > 943 { 944 template< typename Vector, typename T > struct apply 945 { 946 typedef vector27< 947 typename Vector::item0, typename Vector::item1 948 , typename Vector::item2, typename Vector::item3 949 , typename Vector::item4, typename Vector::item5 950 , typename Vector::item6, typename Vector::item7 951 , typename Vector::item8, typename Vector::item9 952 , typename Vector::item10, typename Vector::item11 953 , typename Vector::item12, typename Vector::item13 954 , typename Vector::item14, typename Vector::item15 955 , typename Vector::item16, typename Vector::item17 956 , typename Vector::item18, typename Vector::item19 957 , typename Vector::item20, typename Vector::item21 958 , typename Vector::item22, typename Vector::item23 959 , typename Vector::item24, typename Vector::item25 960 , 961 T 962 > type; 963 }; 964 }; 965 966 template<> 967 struct pop_back_impl< aux::vector_tag<27> > 968 { 969 template< typename Vector > struct apply 970 { 971 typedef vector26< 972 typename Vector::item0, typename Vector::item1 973 , typename Vector::item2, typename Vector::item3 974 , typename Vector::item4, typename Vector::item5 975 , typename Vector::item6, typename Vector::item7 976 , typename Vector::item8, typename Vector::item9 977 , typename Vector::item10, typename Vector::item11 978 , typename Vector::item12, typename Vector::item13 979 , typename Vector::item14, typename Vector::item15 980 , typename Vector::item16, typename Vector::item17 981 , typename Vector::item18, typename Vector::item19 982 , typename Vector::item20, typename Vector::item21 983 , typename Vector::item22, typename Vector::item23 984 , typename Vector::item24, typename Vector::item25 985 > type; 986 }; 987 }; 988 989 template< typename V > 990 struct v_at< V,27 > 991 { 992 typedef typename V::item27 type; 993 }; 994 995 template< 996 typename T0, typename T1, typename T2, typename T3, typename T4 997 , typename T5, typename T6, typename T7, typename T8, typename T9 998 , typename T10, typename T11, typename T12, typename T13, typename T14 999 , typename T15, typename T16, typename T17, typename T18, typename T19 1000 , typename T20, typename T21, typename T22, typename T23, typename T24 1001 , typename T25, typename T26, typename T27 1002 > 1003 struct vector28 1004 { 1005 typedef aux::vector_tag<28> tag; 1006 typedef vector28 type; 1007 typedef T0 item0; 1008 typedef T1 item1; 1009 typedef T2 item2; 1010 typedef T3 item3; 1011 typedef T4 item4; 1012 typedef T5 item5; 1013 typedef T6 item6; 1014 typedef T7 item7; 1015 typedef T8 item8; 1016 typedef T9 item9; 1017 typedef T10 item10; 1018 typedef T11 item11; 1019 typedef T12 item12; 1020 typedef T13 item13; 1021 typedef T14 item14; 1022 typedef T15 item15; 1023 typedef T16 item16; 1024 typedef T17 item17; 1025 typedef T18 item18; 1026 typedef T19 item19; 1027 typedef T20 item20; 1028 typedef T21 item21; 1029 typedef T22 item22; 1030 typedef T23 item23; 1031 typedef T24 item24; 1032 typedef T25 item25; 1033 typedef T26 item26; 1034 typedef T27 item27; 1035 1036 1037 typedef void_ item28; 1038 typedef T27 back; 1039 typedef v_iter< type,0 > begin; 1040 typedef v_iter< type,28 > end; 1041 }; 1042 1043 template<> 1044 struct push_front_impl< aux::vector_tag<27> > 1045 { 1046 template< typename Vector, typename T > struct apply 1047 { 1048 typedef vector28< 1049 T 1050 , 1051 typename Vector::item0, typename Vector::item1 1052 , typename Vector::item2, typename Vector::item3 1053 , typename Vector::item4, typename Vector::item5 1054 , typename Vector::item6, typename Vector::item7 1055 , typename Vector::item8, typename Vector::item9 1056 , typename Vector::item10, typename Vector::item11 1057 , typename Vector::item12, typename Vector::item13 1058 , typename Vector::item14, typename Vector::item15 1059 , typename Vector::item16, typename Vector::item17 1060 , typename Vector::item18, typename Vector::item19 1061 , typename Vector::item20, typename Vector::item21 1062 , typename Vector::item22, typename Vector::item23 1063 , typename Vector::item24, typename Vector::item25 1064 , typename Vector::item26 1065 > type; 1066 }; 1067 }; 1068 1069 template<> 1070 struct pop_front_impl< aux::vector_tag<28> > 1071 { 1072 template< typename Vector > struct apply 1073 { 1074 typedef vector27< 1075 typename Vector::item1, typename Vector::item2 1076 , typename Vector::item3, typename Vector::item4 1077 , typename Vector::item5, typename Vector::item6 1078 , typename Vector::item7, typename Vector::item8 1079 , typename Vector::item9, typename Vector::item10 1080 , typename Vector::item11, typename Vector::item12 1081 , typename Vector::item13, typename Vector::item14 1082 , typename Vector::item15, typename Vector::item16 1083 , typename Vector::item17, typename Vector::item18 1084 , typename Vector::item19, typename Vector::item20 1085 , typename Vector::item21, typename Vector::item22 1086 , typename Vector::item23, typename Vector::item24 1087 , typename Vector::item25, typename Vector::item26 1088 , typename Vector::item27 1089 > type; 1090 }; 1091 }; 1092 1093 template<> 1094 struct push_back_impl< aux::vector_tag<27> > 1095 { 1096 template< typename Vector, typename T > struct apply 1097 { 1098 typedef vector28< 1099 typename Vector::item0, typename Vector::item1 1100 , typename Vector::item2, typename Vector::item3 1101 , typename Vector::item4, typename Vector::item5 1102 , typename Vector::item6, typename Vector::item7 1103 , typename Vector::item8, typename Vector::item9 1104 , typename Vector::item10, typename Vector::item11 1105 , typename Vector::item12, typename Vector::item13 1106 , typename Vector::item14, typename Vector::item15 1107 , typename Vector::item16, typename Vector::item17 1108 , typename Vector::item18, typename Vector::item19 1109 , typename Vector::item20, typename Vector::item21 1110 , typename Vector::item22, typename Vector::item23 1111 , typename Vector::item24, typename Vector::item25 1112 , typename Vector::item26 1113 , 1114 T 1115 > type; 1116 }; 1117 }; 1118 1119 template<> 1120 struct pop_back_impl< aux::vector_tag<28> > 1121 { 1122 template< typename Vector > struct apply 1123 { 1124 typedef vector27< 1125 typename Vector::item0, typename Vector::item1 1126 , typename Vector::item2, typename Vector::item3 1127 , typename Vector::item4, typename Vector::item5 1128 , typename Vector::item6, typename Vector::item7 1129 , typename Vector::item8, typename Vector::item9 1130 , typename Vector::item10, typename Vector::item11 1131 , typename Vector::item12, typename Vector::item13 1132 , typename Vector::item14, typename Vector::item15 1133 , typename Vector::item16, typename Vector::item17 1134 , typename Vector::item18, typename Vector::item19 1135 , typename Vector::item20, typename Vector::item21 1136 , typename Vector::item22, typename Vector::item23 1137 , typename Vector::item24, typename Vector::item25 1138 , typename Vector::item26 1139 > type; 1140 }; 1141 }; 1142 1143 template< typename V > 1144 struct v_at< V,28 > 1145 { 1146 typedef typename V::item28 type; 1147 }; 1148 1149 template< 1150 typename T0, typename T1, typename T2, typename T3, typename T4 1151 , typename T5, typename T6, typename T7, typename T8, typename T9 1152 , typename T10, typename T11, typename T12, typename T13, typename T14 1153 , typename T15, typename T16, typename T17, typename T18, typename T19 1154 , typename T20, typename T21, typename T22, typename T23, typename T24 1155 , typename T25, typename T26, typename T27, typename T28 1156 > 1157 struct vector29 1158 { 1159 typedef aux::vector_tag<29> tag; 1160 typedef vector29 type; 1161 typedef T0 item0; 1162 typedef T1 item1; 1163 typedef T2 item2; 1164 typedef T3 item3; 1165 typedef T4 item4; 1166 typedef T5 item5; 1167 typedef T6 item6; 1168 typedef T7 item7; 1169 typedef T8 item8; 1170 typedef T9 item9; 1171 typedef T10 item10; 1172 typedef T11 item11; 1173 typedef T12 item12; 1174 typedef T13 item13; 1175 typedef T14 item14; 1176 typedef T15 item15; 1177 typedef T16 item16; 1178 typedef T17 item17; 1179 typedef T18 item18; 1180 typedef T19 item19; 1181 typedef T20 item20; 1182 typedef T21 item21; 1183 typedef T22 item22; 1184 typedef T23 item23; 1185 typedef T24 item24; 1186 typedef T25 item25; 1187 typedef T26 item26; 1188 typedef T27 item27; 1189 typedef T28 item28; 1190 1191 1192 typedef void_ item29; 1193 typedef T28 back; 1194 typedef v_iter< type,0 > begin; 1195 typedef v_iter< type,29 > end; 1196 }; 1197 1198 template<> 1199 struct push_front_impl< aux::vector_tag<28> > 1200 { 1201 template< typename Vector, typename T > struct apply 1202 { 1203 typedef vector29< 1204 T 1205 , 1206 typename Vector::item0, typename Vector::item1 1207 , typename Vector::item2, typename Vector::item3 1208 , typename Vector::item4, typename Vector::item5 1209 , typename Vector::item6, typename Vector::item7 1210 , typename Vector::item8, typename Vector::item9 1211 , typename Vector::item10, typename Vector::item11 1212 , typename Vector::item12, typename Vector::item13 1213 , typename Vector::item14, typename Vector::item15 1214 , typename Vector::item16, typename Vector::item17 1215 , typename Vector::item18, typename Vector::item19 1216 , typename Vector::item20, typename Vector::item21 1217 , typename Vector::item22, typename Vector::item23 1218 , typename Vector::item24, typename Vector::item25 1219 , typename Vector::item26, typename Vector::item27 1220 > type; 1221 }; 1222 }; 1223 1224 template<> 1225 struct pop_front_impl< aux::vector_tag<29> > 1226 { 1227 template< typename Vector > struct apply 1228 { 1229 typedef vector28< 1230 typename Vector::item1, typename Vector::item2 1231 , typename Vector::item3, typename Vector::item4 1232 , typename Vector::item5, typename Vector::item6 1233 , typename Vector::item7, typename Vector::item8 1234 , typename Vector::item9, typename Vector::item10 1235 , typename Vector::item11, typename Vector::item12 1236 , typename Vector::item13, typename Vector::item14 1237 , typename Vector::item15, typename Vector::item16 1238 , typename Vector::item17, typename Vector::item18 1239 , typename Vector::item19, typename Vector::item20 1240 , typename Vector::item21, typename Vector::item22 1241 , typename Vector::item23, typename Vector::item24 1242 , typename Vector::item25, typename Vector::item26 1243 , typename Vector::item27, typename Vector::item28 1244 > type; 1245 }; 1246 }; 1247 1248 template<> 1249 struct push_back_impl< aux::vector_tag<28> > 1250 { 1251 template< typename Vector, typename T > struct apply 1252 { 1253 typedef vector29< 1254 typename Vector::item0, typename Vector::item1 1255 , typename Vector::item2, typename Vector::item3 1256 , typename Vector::item4, typename Vector::item5 1257 , typename Vector::item6, typename Vector::item7 1258 , typename Vector::item8, typename Vector::item9 1259 , typename Vector::item10, typename Vector::item11 1260 , typename Vector::item12, typename Vector::item13 1261 , typename Vector::item14, typename Vector::item15 1262 , typename Vector::item16, typename Vector::item17 1263 , typename Vector::item18, typename Vector::item19 1264 , typename Vector::item20, typename Vector::item21 1265 , typename Vector::item22, typename Vector::item23 1266 , typename Vector::item24, typename Vector::item25 1267 , typename Vector::item26, typename Vector::item27 1268 , 1269 T 1270 > type; 1271 }; 1272 }; 1273 1274 template<> 1275 struct pop_back_impl< aux::vector_tag<29> > 1276 { 1277 template< typename Vector > struct apply 1278 { 1279 typedef vector28< 1280 typename Vector::item0, typename Vector::item1 1281 , typename Vector::item2, typename Vector::item3 1282 , typename Vector::item4, typename Vector::item5 1283 , typename Vector::item6, typename Vector::item7 1284 , typename Vector::item8, typename Vector::item9 1285 , typename Vector::item10, typename Vector::item11 1286 , typename Vector::item12, typename Vector::item13 1287 , typename Vector::item14, typename Vector::item15 1288 , typename Vector::item16, typename Vector::item17 1289 , typename Vector::item18, typename Vector::item19 1290 , typename Vector::item20, typename Vector::item21 1291 , typename Vector::item22, typename Vector::item23 1292 , typename Vector::item24, typename Vector::item25 1293 , typename Vector::item26, typename Vector::item27 1294 > type; 1295 }; 1296 }; 1297 1298 template< typename V > 1299 struct v_at< V,29 > 1300 { 1301 typedef typename V::item29 type; 1302 }; 1303 1304 template< 1305 typename T0, typename T1, typename T2, typename T3, typename T4 1306 , typename T5, typename T6, typename T7, typename T8, typename T9 1307 , typename T10, typename T11, typename T12, typename T13, typename T14 1308 , typename T15, typename T16, typename T17, typename T18, typename T19 1309 , typename T20, typename T21, typename T22, typename T23, typename T24 1310 , typename T25, typename T26, typename T27, typename T28, typename T29 1311 > 1312 struct vector30 1313 { 1314 typedef aux::vector_tag<30> tag; 1315 typedef vector30 type; 1316 typedef T0 item0; 1317 typedef T1 item1; 1318 typedef T2 item2; 1319 typedef T3 item3; 1320 typedef T4 item4; 1321 typedef T5 item5; 1322 typedef T6 item6; 1323 typedef T7 item7; 1324 typedef T8 item8; 1325 typedef T9 item9; 1326 typedef T10 item10; 1327 typedef T11 item11; 1328 typedef T12 item12; 1329 typedef T13 item13; 1330 typedef T14 item14; 1331 typedef T15 item15; 1332 typedef T16 item16; 1333 typedef T17 item17; 1334 typedef T18 item18; 1335 typedef T19 item19; 1336 typedef T20 item20; 1337 typedef T21 item21; 1338 typedef T22 item22; 1339 typedef T23 item23; 1340 typedef T24 item24; 1341 typedef T25 item25; 1342 typedef T26 item26; 1343 typedef T27 item27; 1344 typedef T28 item28; 1345 typedef T29 item29; 1346 1347 1348 typedef void_ item30; 1349 typedef T29 back; 1350 typedef v_iter< type,0 > begin; 1351 typedef v_iter< type,30 > end; 1352 }; 1353 1354 template<> 1355 struct push_front_impl< aux::vector_tag<29> > 1356 { 1357 template< typename Vector, typename T > struct apply 1358 { 1359 typedef vector30< 1360 T 1361 , 1362 typename Vector::item0, typename Vector::item1 1363 , typename Vector::item2, typename Vector::item3 1364 , typename Vector::item4, typename Vector::item5 1365 , typename Vector::item6, typename Vector::item7 1366 , typename Vector::item8, typename Vector::item9 1367 , typename Vector::item10, typename Vector::item11 1368 , typename Vector::item12, typename Vector::item13 1369 , typename Vector::item14, typename Vector::item15 1370 , typename Vector::item16, typename Vector::item17 1371 , typename Vector::item18, typename Vector::item19 1372 , typename Vector::item20, typename Vector::item21 1373 , typename Vector::item22, typename Vector::item23 1374 , typename Vector::item24, typename Vector::item25 1375 , typename Vector::item26, typename Vector::item27 1376 , typename Vector::item28 1377 > type; 1378 }; 1379 }; 1380 1381 template<> 1382 struct pop_front_impl< aux::vector_tag<30> > 1383 { 1384 template< typename Vector > struct apply 1385 { 1386 typedef vector29< 1387 typename Vector::item1, typename Vector::item2 1388 , typename Vector::item3, typename Vector::item4 1389 , typename Vector::item5, typename Vector::item6 1390 , typename Vector::item7, typename Vector::item8 1391 , typename Vector::item9, typename Vector::item10 1392 , typename Vector::item11, typename Vector::item12 1393 , typename Vector::item13, typename Vector::item14 1394 , typename Vector::item15, typename Vector::item16 1395 , typename Vector::item17, typename Vector::item18 1396 , typename Vector::item19, typename Vector::item20 1397 , typename Vector::item21, typename Vector::item22 1398 , typename Vector::item23, typename Vector::item24 1399 , typename Vector::item25, typename Vector::item26 1400 , typename Vector::item27, typename Vector::item28 1401 , typename Vector::item29 1402 > type; 1403 }; 1404 }; 1405 1406 template<> 1407 struct push_back_impl< aux::vector_tag<29> > 1408 { 1409 template< typename Vector, typename T > struct apply 1410 { 1411 typedef vector30< 1412 typename Vector::item0, typename Vector::item1 1413 , typename Vector::item2, typename Vector::item3 1414 , typename Vector::item4, typename Vector::item5 1415 , typename Vector::item6, typename Vector::item7 1416 , typename Vector::item8, typename Vector::item9 1417 , typename Vector::item10, typename Vector::item11 1418 , typename Vector::item12, typename Vector::item13 1419 , typename Vector::item14, typename Vector::item15 1420 , typename Vector::item16, typename Vector::item17 1421 , typename Vector::item18, typename Vector::item19 1422 , typename Vector::item20, typename Vector::item21 1423 , typename Vector::item22, typename Vector::item23 1424 , typename Vector::item24, typename Vector::item25 1425 , typename Vector::item26, typename Vector::item27 1426 , typename Vector::item28 1427 , 1428 T 1429 > type; 1430 }; 1431 }; 1432 1433 template<> 1434 struct pop_back_impl< aux::vector_tag<30> > 1435 { 1436 template< typename Vector > struct apply 1437 { 1438 typedef vector29< 1439 typename Vector::item0, typename Vector::item1 1440 , typename Vector::item2, typename Vector::item3 1441 , typename Vector::item4, typename Vector::item5 1442 , typename Vector::item6, typename Vector::item7 1443 , typename Vector::item8, typename Vector::item9 1444 , typename Vector::item10, typename Vector::item11 1445 , typename Vector::item12, typename Vector::item13 1446 , typename Vector::item14, typename Vector::item15 1447 , typename Vector::item16, typename Vector::item17 1448 , typename Vector::item18, typename Vector::item19 1449 , typename Vector::item20, typename Vector::item21 1450 , typename Vector::item22, typename Vector::item23 1451 , typename Vector::item24, typename Vector::item25 1452 , typename Vector::item26, typename Vector::item27 1453 , typename Vector::item28 1454 > type; 1455 }; 1456 }; 1457 1458 template< typename V > 1459 struct v_at< V,30 > 1460 { 1461 typedef typename V::item30 type; 1462 }; 1463 1464 }} 1465