BVB Source Codes

mars Show vector30.hpp Source code

Return Download mars: download vector30.hpp Source code - Download mars Source code - Type:.hpp
  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 mars_boost {} namespace boost = mars_boost; namespace mars_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.  
downloadvector30.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top