BVB Source Codes

mars Show vector50.hpp Source code

Return Download mars: download vector50.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/vector50.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, typename T21, typename T22, typename T23, typename T24
  20.     , typename T25, typename T26, typename T27, typename T28, typename T29
  21.     , typename T30, typename T31, typename T32, typename T33, typename T34
  22.     , typename T35, typename T36, typename T37, typename T38, typename T39
  23.     , typename T40
  24.     >
  25. struct vector41
  26. {
  27.     typedef aux::vector_tag<41> tag;
  28.     typedef vector41 type;
  29.     typedef T0 item0;
  30.     typedef T1 item1;
  31.     typedef T2 item2;
  32.     typedef T3 item3;
  33.     typedef T4 item4;
  34.     typedef T5 item5;
  35.     typedef T6 item6;
  36.     typedef T7 item7;
  37.     typedef T8 item8;
  38.     typedef T9 item9;
  39.     typedef T10 item10;
  40.     typedef T11 item11;
  41.     typedef T12 item12;
  42.     typedef T13 item13;
  43.     typedef T14 item14;
  44.     typedef T15 item15;
  45.     typedef T16 item16;
  46.     typedef T17 item17;
  47.     typedef T18 item18;
  48.     typedef T19 item19;
  49.     typedef T20 item20;
  50.     typedef T21 item21;
  51.     typedef T22 item22;
  52.     typedef T23 item23;
  53.     typedef T24 item24;
  54.     typedef T25 item25;
  55.     typedef T26 item26;
  56.     typedef T27 item27;
  57.     typedef T28 item28;
  58.     typedef T29 item29;
  59.     typedef T30 item30;
  60.     typedef T31 item31;
  61.     typedef T32 item32;
  62.     typedef T33 item33;
  63.     typedef T34 item34;
  64.     typedef T35 item35;
  65.     typedef T36 item36;
  66.     typedef T37 item37;
  67.     typedef T38 item38;
  68.     typedef T39 item39;
  69.     typedef T40 item40;
  70.    
  71.  
  72.     typedef void_ item41;
  73.     typedef T40 back;
  74.     typedef v_iter< type,0 > begin;
  75.     typedef v_iter< type,41 > end;
  76. };
  77.  
  78. template<>
  79. struct push_front_impl< aux::vector_tag<40> >
  80. {
  81.     template< typename Vector, typename T > struct apply
  82.     {
  83.         typedef vector41<
  84.               T
  85.               ,
  86.               typename Vector::item0, typename Vector::item1
  87.             , typename Vector::item2, typename Vector::item3
  88.             , typename Vector::item4, typename Vector::item5
  89.             , typename Vector::item6, typename Vector::item7
  90.             , typename Vector::item8, typename Vector::item9
  91.             , typename Vector::item10, typename Vector::item11
  92.             , typename Vector::item12, typename Vector::item13
  93.             , typename Vector::item14, typename Vector::item15
  94.             , typename Vector::item16, typename Vector::item17
  95.             , typename Vector::item18, typename Vector::item19
  96.             , typename Vector::item20, typename Vector::item21
  97.             , typename Vector::item22, typename Vector::item23
  98.             , typename Vector::item24, typename Vector::item25
  99.             , typename Vector::item26, typename Vector::item27
  100.             , typename Vector::item28, typename Vector::item29
  101.             , typename Vector::item30, typename Vector::item31
  102.             , typename Vector::item32, typename Vector::item33
  103.             , typename Vector::item34, typename Vector::item35
  104.             , typename Vector::item36, typename Vector::item37
  105.             , typename Vector::item38, typename Vector::item39
  106.             > type;
  107.     };
  108. };
  109.  
  110. template<>
  111. struct pop_front_impl< aux::vector_tag<41> >
  112. {
  113.     template< typename Vector > struct apply
  114.     {
  115.         typedef vector40<
  116.               typename Vector::item1, typename Vector::item2
  117.             , typename Vector::item3, typename Vector::item4
  118.             , typename Vector::item5, typename Vector::item6
  119.             , typename Vector::item7, typename Vector::item8
  120.             , typename Vector::item9, typename Vector::item10
  121.             , typename Vector::item11, typename Vector::item12
  122.             , typename Vector::item13, typename Vector::item14
  123.             , typename Vector::item15, typename Vector::item16
  124.             , typename Vector::item17, typename Vector::item18
  125.             , typename Vector::item19, typename Vector::item20
  126.             , typename Vector::item21, typename Vector::item22
  127.             , typename Vector::item23, typename Vector::item24
  128.             , typename Vector::item25, typename Vector::item26
  129.             , typename Vector::item27, typename Vector::item28
  130.             , typename Vector::item29, typename Vector::item30
  131.             , typename Vector::item31, typename Vector::item32
  132.             , typename Vector::item33, typename Vector::item34
  133.             , typename Vector::item35, typename Vector::item36
  134.             , typename Vector::item37, typename Vector::item38
  135.             , typename Vector::item39, typename Vector::item40
  136.             > type;
  137.     };
  138. };
  139.  
  140. template<>
  141. struct push_back_impl< aux::vector_tag<40> >
  142. {
  143.     template< typename Vector, typename T > struct apply
  144.     {
  145.         typedef vector41<
  146.               typename Vector::item0, typename Vector::item1
  147.             , typename Vector::item2, typename Vector::item3
  148.             , typename Vector::item4, typename Vector::item5
  149.             , typename Vector::item6, typename Vector::item7
  150.             , typename Vector::item8, typename Vector::item9
  151.             , typename Vector::item10, typename Vector::item11
  152.             , typename Vector::item12, typename Vector::item13
  153.             , typename Vector::item14, typename Vector::item15
  154.             , typename Vector::item16, typename Vector::item17
  155.             , typename Vector::item18, typename Vector::item19
  156.             , typename Vector::item20, typename Vector::item21
  157.             , typename Vector::item22, typename Vector::item23
  158.             , typename Vector::item24, typename Vector::item25
  159.             , typename Vector::item26, typename Vector::item27
  160.             , typename Vector::item28, typename Vector::item29
  161.             , typename Vector::item30, typename Vector::item31
  162.             , typename Vector::item32, typename Vector::item33
  163.             , typename Vector::item34, typename Vector::item35
  164.             , typename Vector::item36, typename Vector::item37
  165.             , typename Vector::item38, typename Vector::item39
  166.               ,
  167.               T
  168.             > type;
  169.     };
  170. };
  171.  
  172. template<>
  173. struct pop_back_impl< aux::vector_tag<41> >
  174. {
  175.     template< typename Vector > struct apply
  176.     {
  177.         typedef vector40<
  178.               typename Vector::item0, typename Vector::item1
  179.             , typename Vector::item2, typename Vector::item3
  180.             , typename Vector::item4, typename Vector::item5
  181.             , typename Vector::item6, typename Vector::item7
  182.             , typename Vector::item8, typename Vector::item9
  183.             , typename Vector::item10, typename Vector::item11
  184.             , typename Vector::item12, typename Vector::item13
  185.             , typename Vector::item14, typename Vector::item15
  186.             , typename Vector::item16, typename Vector::item17
  187.             , typename Vector::item18, typename Vector::item19
  188.             , typename Vector::item20, typename Vector::item21
  189.             , typename Vector::item22, typename Vector::item23
  190.             , typename Vector::item24, typename Vector::item25
  191.             , typename Vector::item26, typename Vector::item27
  192.             , typename Vector::item28, typename Vector::item29
  193.             , typename Vector::item30, typename Vector::item31
  194.             , typename Vector::item32, typename Vector::item33
  195.             , typename Vector::item34, typename Vector::item35
  196.             , typename Vector::item36, typename Vector::item37
  197.             , typename Vector::item38, typename Vector::item39
  198.             > type;
  199.     };
  200. };
  201.  
  202. template< typename V >
  203. struct v_at< V,41 >
  204. {
  205.     typedef typename V::item41 type;
  206. };
  207.  
  208. template<
  209.       typename T0, typename T1, typename T2, typename T3, typename T4
  210.     , typename T5, typename T6, typename T7, typename T8, typename T9
  211.     , typename T10, typename T11, typename T12, typename T13, typename T14
  212.     , typename T15, typename T16, typename T17, typename T18, typename T19
  213.     , typename T20, typename T21, typename T22, typename T23, typename T24
  214.     , typename T25, typename T26, typename T27, typename T28, typename T29
  215.     , typename T30, typename T31, typename T32, typename T33, typename T34
  216.     , typename T35, typename T36, typename T37, typename T38, typename T39
  217.     , typename T40, typename T41
  218.     >
  219. struct vector42
  220. {
  221.     typedef aux::vector_tag<42> tag;
  222.     typedef vector42 type;
  223.     typedef T0 item0;
  224.     typedef T1 item1;
  225.     typedef T2 item2;
  226.     typedef T3 item3;
  227.     typedef T4 item4;
  228.     typedef T5 item5;
  229.     typedef T6 item6;
  230.     typedef T7 item7;
  231.     typedef T8 item8;
  232.     typedef T9 item9;
  233.     typedef T10 item10;
  234.     typedef T11 item11;
  235.     typedef T12 item12;
  236.     typedef T13 item13;
  237.     typedef T14 item14;
  238.     typedef T15 item15;
  239.     typedef T16 item16;
  240.     typedef T17 item17;
  241.     typedef T18 item18;
  242.     typedef T19 item19;
  243.     typedef T20 item20;
  244.     typedef T21 item21;
  245.     typedef T22 item22;
  246.     typedef T23 item23;
  247.     typedef T24 item24;
  248.     typedef T25 item25;
  249.     typedef T26 item26;
  250.     typedef T27 item27;
  251.     typedef T28 item28;
  252.     typedef T29 item29;
  253.     typedef T30 item30;
  254.     typedef T31 item31;
  255.     typedef T32 item32;
  256.     typedef T33 item33;
  257.     typedef T34 item34;
  258.     typedef T35 item35;
  259.     typedef T36 item36;
  260.     typedef T37 item37;
  261.     typedef T38 item38;
  262.     typedef T39 item39;
  263.     typedef T40 item40;
  264.     typedef T41 item41;
  265.    
  266.  
  267.     typedef void_ item42;
  268.     typedef T41 back;
  269.     typedef v_iter< type,0 > begin;
  270.     typedef v_iter< type,42 > end;
  271. };
  272.  
  273. template<>
  274. struct push_front_impl< aux::vector_tag<41> >
  275. {
  276.     template< typename Vector, typename T > struct apply
  277.     {
  278.         typedef vector42<
  279.               T
  280.               ,
  281.               typename Vector::item0, typename Vector::item1
  282.             , typename Vector::item2, typename Vector::item3
  283.             , typename Vector::item4, typename Vector::item5
  284.             , typename Vector::item6, typename Vector::item7
  285.             , typename Vector::item8, typename Vector::item9
  286.             , typename Vector::item10, typename Vector::item11
  287.             , typename Vector::item12, typename Vector::item13
  288.             , typename Vector::item14, typename Vector::item15
  289.             , typename Vector::item16, typename Vector::item17
  290.             , typename Vector::item18, typename Vector::item19
  291.             , typename Vector::item20, typename Vector::item21
  292.             , typename Vector::item22, typename Vector::item23
  293.             , typename Vector::item24, typename Vector::item25
  294.             , typename Vector::item26, typename Vector::item27
  295.             , typename Vector::item28, typename Vector::item29
  296.             , typename Vector::item30, typename Vector::item31
  297.             , typename Vector::item32, typename Vector::item33
  298.             , typename Vector::item34, typename Vector::item35
  299.             , typename Vector::item36, typename Vector::item37
  300.             , typename Vector::item38, typename Vector::item39
  301.             , typename Vector::item40
  302.             > type;
  303.     };
  304. };
  305.  
  306. template<>
  307. struct pop_front_impl< aux::vector_tag<42> >
  308. {
  309.     template< typename Vector > struct apply
  310.     {
  311.         typedef vector41<
  312.               typename Vector::item1, typename Vector::item2
  313.             , typename Vector::item3, typename Vector::item4
  314.             , typename Vector::item5, typename Vector::item6
  315.             , typename Vector::item7, typename Vector::item8
  316.             , typename Vector::item9, typename Vector::item10
  317.             , typename Vector::item11, typename Vector::item12
  318.             , typename Vector::item13, typename Vector::item14
  319.             , typename Vector::item15, typename Vector::item16
  320.             , typename Vector::item17, typename Vector::item18
  321.             , typename Vector::item19, typename Vector::item20
  322.             , typename Vector::item21, typename Vector::item22
  323.             , typename Vector::item23, typename Vector::item24
  324.             , typename Vector::item25, typename Vector::item26
  325.             , typename Vector::item27, typename Vector::item28
  326.             , typename Vector::item29, typename Vector::item30
  327.             , typename Vector::item31, typename Vector::item32
  328.             , typename Vector::item33, typename Vector::item34
  329.             , typename Vector::item35, typename Vector::item36
  330.             , typename Vector::item37, typename Vector::item38
  331.             , typename Vector::item39, typename Vector::item40
  332.             , typename Vector::item41
  333.             > type;
  334.     };
  335. };
  336.  
  337. template<>
  338. struct push_back_impl< aux::vector_tag<41> >
  339. {
  340.     template< typename Vector, typename T > struct apply
  341.     {
  342.         typedef vector42<
  343.               typename Vector::item0, typename Vector::item1
  344.             , typename Vector::item2, typename Vector::item3
  345.             , typename Vector::item4, typename Vector::item5
  346.             , typename Vector::item6, typename Vector::item7
  347.             , typename Vector::item8, typename Vector::item9
  348.             , typename Vector::item10, typename Vector::item11
  349.             , typename Vector::item12, typename Vector::item13
  350.             , typename Vector::item14, typename Vector::item15
  351.             , typename Vector::item16, typename Vector::item17
  352.             , typename Vector::item18, typename Vector::item19
  353.             , typename Vector::item20, typename Vector::item21
  354.             , typename Vector::item22, typename Vector::item23
  355.             , typename Vector::item24, typename Vector::item25
  356.             , typename Vector::item26, typename Vector::item27
  357.             , typename Vector::item28, typename Vector::item29
  358.             , typename Vector::item30, typename Vector::item31
  359.             , typename Vector::item32, typename Vector::item33
  360.             , typename Vector::item34, typename Vector::item35
  361.             , typename Vector::item36, typename Vector::item37
  362.             , typename Vector::item38, typename Vector::item39
  363.             , typename Vector::item40
  364.               ,
  365.               T
  366.             > type;
  367.     };
  368. };
  369.  
  370. template<>
  371. struct pop_back_impl< aux::vector_tag<42> >
  372. {
  373.     template< typename Vector > struct apply
  374.     {
  375.         typedef vector41<
  376.               typename Vector::item0, typename Vector::item1
  377.             , typename Vector::item2, typename Vector::item3
  378.             , typename Vector::item4, typename Vector::item5
  379.             , typename Vector::item6, typename Vector::item7
  380.             , typename Vector::item8, typename Vector::item9
  381.             , typename Vector::item10, typename Vector::item11
  382.             , typename Vector::item12, typename Vector::item13
  383.             , typename Vector::item14, typename Vector::item15
  384.             , typename Vector::item16, typename Vector::item17
  385.             , typename Vector::item18, typename Vector::item19
  386.             , typename Vector::item20, typename Vector::item21
  387.             , typename Vector::item22, typename Vector::item23
  388.             , typename Vector::item24, typename Vector::item25
  389.             , typename Vector::item26, typename Vector::item27
  390.             , typename Vector::item28, typename Vector::item29
  391.             , typename Vector::item30, typename Vector::item31
  392.             , typename Vector::item32, typename Vector::item33
  393.             , typename Vector::item34, typename Vector::item35
  394.             , typename Vector::item36, typename Vector::item37
  395.             , typename Vector::item38, typename Vector::item39
  396.             , typename Vector::item40
  397.             > type;
  398.     };
  399. };
  400.  
  401. template< typename V >
  402. struct v_at< V,42 >
  403. {
  404.     typedef typename V::item42 type;
  405. };
  406.  
  407. template<
  408.       typename T0, typename T1, typename T2, typename T3, typename T4
  409.     , typename T5, typename T6, typename T7, typename T8, typename T9
  410.     , typename T10, typename T11, typename T12, typename T13, typename T14
  411.     , typename T15, typename T16, typename T17, typename T18, typename T19
  412.     , typename T20, typename T21, typename T22, typename T23, typename T24
  413.     , typename T25, typename T26, typename T27, typename T28, typename T29
  414.     , typename T30, typename T31, typename T32, typename T33, typename T34
  415.     , typename T35, typename T36, typename T37, typename T38, typename T39
  416.     , typename T40, typename T41, typename T42
  417.     >
  418. struct vector43
  419. {
  420.     typedef aux::vector_tag<43> tag;
  421.     typedef vector43 type;
  422.     typedef T0 item0;
  423.     typedef T1 item1;
  424.     typedef T2 item2;
  425.     typedef T3 item3;
  426.     typedef T4 item4;
  427.     typedef T5 item5;
  428.     typedef T6 item6;
  429.     typedef T7 item7;
  430.     typedef T8 item8;
  431.     typedef T9 item9;
  432.     typedef T10 item10;
  433.     typedef T11 item11;
  434.     typedef T12 item12;
  435.     typedef T13 item13;
  436.     typedef T14 item14;
  437.     typedef T15 item15;
  438.     typedef T16 item16;
  439.     typedef T17 item17;
  440.     typedef T18 item18;
  441.     typedef T19 item19;
  442.     typedef T20 item20;
  443.     typedef T21 item21;
  444.     typedef T22 item22;
  445.     typedef T23 item23;
  446.     typedef T24 item24;
  447.     typedef T25 item25;
  448.     typedef T26 item26;
  449.     typedef T27 item27;
  450.     typedef T28 item28;
  451.     typedef T29 item29;
  452.     typedef T30 item30;
  453.     typedef T31 item31;
  454.     typedef T32 item32;
  455.     typedef T33 item33;
  456.     typedef T34 item34;
  457.     typedef T35 item35;
  458.     typedef T36 item36;
  459.     typedef T37 item37;
  460.     typedef T38 item38;
  461.     typedef T39 item39;
  462.     typedef T40 item40;
  463.     typedef T41 item41;
  464.     typedef T42 item42;
  465.    
  466.  
  467.     typedef void_ item43;
  468.     typedef T42 back;
  469.     typedef v_iter< type,0 > begin;
  470.     typedef v_iter< type,43 > end;
  471. };
  472.  
  473. template<>
  474. struct push_front_impl< aux::vector_tag<42> >
  475. {
  476.     template< typename Vector, typename T > struct apply
  477.     {
  478.         typedef vector43<
  479.               T
  480.               ,
  481.               typename Vector::item0, typename Vector::item1
  482.             , typename Vector::item2, typename Vector::item3
  483.             , typename Vector::item4, typename Vector::item5
  484.             , typename Vector::item6, typename Vector::item7
  485.             , typename Vector::item8, typename Vector::item9
  486.             , typename Vector::item10, typename Vector::item11
  487.             , typename Vector::item12, typename Vector::item13
  488.             , typename Vector::item14, typename Vector::item15
  489.             , typename Vector::item16, typename Vector::item17
  490.             , typename Vector::item18, typename Vector::item19
  491.             , typename Vector::item20, typename Vector::item21
  492.             , typename Vector::item22, typename Vector::item23
  493.             , typename Vector::item24, typename Vector::item25
  494.             , typename Vector::item26, typename Vector::item27
  495.             , typename Vector::item28, typename Vector::item29
  496.             , typename Vector::item30, typename Vector::item31
  497.             , typename Vector::item32, typename Vector::item33
  498.             , typename Vector::item34, typename Vector::item35
  499.             , typename Vector::item36, typename Vector::item37
  500.             , typename Vector::item38, typename Vector::item39
  501.             , typename Vector::item40, typename Vector::item41
  502.             > type;
  503.     };
  504. };
  505.  
  506. template<>
  507. struct pop_front_impl< aux::vector_tag<43> >
  508. {
  509.     template< typename Vector > struct apply
  510.     {
  511.         typedef vector42<
  512.               typename Vector::item1, typename Vector::item2
  513.             , typename Vector::item3, typename Vector::item4
  514.             , typename Vector::item5, typename Vector::item6
  515.             , typename Vector::item7, typename Vector::item8
  516.             , typename Vector::item9, typename Vector::item10
  517.             , typename Vector::item11, typename Vector::item12
  518.             , typename Vector::item13, typename Vector::item14
  519.             , typename Vector::item15, typename Vector::item16
  520.             , typename Vector::item17, typename Vector::item18
  521.             , typename Vector::item19, typename Vector::item20
  522.             , typename Vector::item21, typename Vector::item22
  523.             , typename Vector::item23, typename Vector::item24
  524.             , typename Vector::item25, typename Vector::item26
  525.             , typename Vector::item27, typename Vector::item28
  526.             , typename Vector::item29, typename Vector::item30
  527.             , typename Vector::item31, typename Vector::item32
  528.             , typename Vector::item33, typename Vector::item34
  529.             , typename Vector::item35, typename Vector::item36
  530.             , typename Vector::item37, typename Vector::item38
  531.             , typename Vector::item39, typename Vector::item40
  532.             , typename Vector::item41, typename Vector::item42
  533.             > type;
  534.     };
  535. };
  536.  
  537. template<>
  538. struct push_back_impl< aux::vector_tag<42> >
  539. {
  540.     template< typename Vector, typename T > struct apply
  541.     {
  542.         typedef vector43<
  543.               typename Vector::item0, typename Vector::item1
  544.             , typename Vector::item2, typename Vector::item3
  545.             , typename Vector::item4, typename Vector::item5
  546.             , typename Vector::item6, typename Vector::item7
  547.             , typename Vector::item8, typename Vector::item9
  548.             , typename Vector::item10, typename Vector::item11
  549.             , typename Vector::item12, typename Vector::item13
  550.             , typename Vector::item14, typename Vector::item15
  551.             , typename Vector::item16, typename Vector::item17
  552.             , typename Vector::item18, typename Vector::item19
  553.             , typename Vector::item20, typename Vector::item21
  554.             , typename Vector::item22, typename Vector::item23
  555.             , typename Vector::item24, typename Vector::item25
  556.             , typename Vector::item26, typename Vector::item27
  557.             , typename Vector::item28, typename Vector::item29
  558.             , typename Vector::item30, typename Vector::item31
  559.             , typename Vector::item32, typename Vector::item33
  560.             , typename Vector::item34, typename Vector::item35
  561.             , typename Vector::item36, typename Vector::item37
  562.             , typename Vector::item38, typename Vector::item39
  563.             , typename Vector::item40, typename Vector::item41
  564.               ,
  565.               T
  566.             > type;
  567.     };
  568. };
  569.  
  570. template<>
  571. struct pop_back_impl< aux::vector_tag<43> >
  572. {
  573.     template< typename Vector > struct apply
  574.     {
  575.         typedef vector42<
  576.               typename Vector::item0, typename Vector::item1
  577.             , typename Vector::item2, typename Vector::item3
  578.             , typename Vector::item4, typename Vector::item5
  579.             , typename Vector::item6, typename Vector::item7
  580.             , typename Vector::item8, typename Vector::item9
  581.             , typename Vector::item10, typename Vector::item11
  582.             , typename Vector::item12, typename Vector::item13
  583.             , typename Vector::item14, typename Vector::item15
  584.             , typename Vector::item16, typename Vector::item17
  585.             , typename Vector::item18, typename Vector::item19
  586.             , typename Vector::item20, typename Vector::item21
  587.             , typename Vector::item22, typename Vector::item23
  588.             , typename Vector::item24, typename Vector::item25
  589.             , typename Vector::item26, typename Vector::item27
  590.             , typename Vector::item28, typename Vector::item29
  591.             , typename Vector::item30, typename Vector::item31
  592.             , typename Vector::item32, typename Vector::item33
  593.             , typename Vector::item34, typename Vector::item35
  594.             , typename Vector::item36, typename Vector::item37
  595.             , typename Vector::item38, typename Vector::item39
  596.             , typename Vector::item40, typename Vector::item41
  597.             > type;
  598.     };
  599. };
  600.  
  601. template< typename V >
  602. struct v_at< V,43 >
  603. {
  604.     typedef typename V::item43 type;
  605. };
  606.  
  607. template<
  608.       typename T0, typename T1, typename T2, typename T3, typename T4
  609.     , typename T5, typename T6, typename T7, typename T8, typename T9
  610.     , typename T10, typename T11, typename T12, typename T13, typename T14
  611.     , typename T15, typename T16, typename T17, typename T18, typename T19
  612.     , typename T20, typename T21, typename T22, typename T23, typename T24
  613.     , typename T25, typename T26, typename T27, typename T28, typename T29
  614.     , typename T30, typename T31, typename T32, typename T33, typename T34
  615.     , typename T35, typename T36, typename T37, typename T38, typename T39
  616.     , typename T40, typename T41, typename T42, typename T43
  617.     >
  618. struct vector44
  619. {
  620.     typedef aux::vector_tag<44> tag;
  621.     typedef vector44 type;
  622.     typedef T0 item0;
  623.     typedef T1 item1;
  624.     typedef T2 item2;
  625.     typedef T3 item3;
  626.     typedef T4 item4;
  627.     typedef T5 item5;
  628.     typedef T6 item6;
  629.     typedef T7 item7;
  630.     typedef T8 item8;
  631.     typedef T9 item9;
  632.     typedef T10 item10;
  633.     typedef T11 item11;
  634.     typedef T12 item12;
  635.     typedef T13 item13;
  636.     typedef T14 item14;
  637.     typedef T15 item15;
  638.     typedef T16 item16;
  639.     typedef T17 item17;
  640.     typedef T18 item18;
  641.     typedef T19 item19;
  642.     typedef T20 item20;
  643.     typedef T21 item21;
  644.     typedef T22 item22;
  645.     typedef T23 item23;
  646.     typedef T24 item24;
  647.     typedef T25 item25;
  648.     typedef T26 item26;
  649.     typedef T27 item27;
  650.     typedef T28 item28;
  651.     typedef T29 item29;
  652.     typedef T30 item30;
  653.     typedef T31 item31;
  654.     typedef T32 item32;
  655.     typedef T33 item33;
  656.     typedef T34 item34;
  657.     typedef T35 item35;
  658.     typedef T36 item36;
  659.     typedef T37 item37;
  660.     typedef T38 item38;
  661.     typedef T39 item39;
  662.     typedef T40 item40;
  663.     typedef T41 item41;
  664.     typedef T42 item42;
  665.     typedef T43 item43;
  666.    
  667.  
  668.     typedef void_ item44;
  669.     typedef T43 back;
  670.     typedef v_iter< type,0 > begin;
  671.     typedef v_iter< type,44 > end;
  672. };
  673.  
  674. template<>
  675. struct push_front_impl< aux::vector_tag<43> >
  676. {
  677.     template< typename Vector, typename T > struct apply
  678.     {
  679.         typedef vector44<
  680.               T
  681.               ,
  682.               typename Vector::item0, typename Vector::item1
  683.             , typename Vector::item2, typename Vector::item3
  684.             , typename Vector::item4, typename Vector::item5
  685.             , typename Vector::item6, typename Vector::item7
  686.             , typename Vector::item8, typename Vector::item9
  687.             , typename Vector::item10, typename Vector::item11
  688.             , typename Vector::item12, typename Vector::item13
  689.             , typename Vector::item14, typename Vector::item15
  690.             , typename Vector::item16, typename Vector::item17
  691.             , typename Vector::item18, typename Vector::item19
  692.             , typename Vector::item20, typename Vector::item21
  693.             , typename Vector::item22, typename Vector::item23
  694.             , typename Vector::item24, typename Vector::item25
  695.             , typename Vector::item26, typename Vector::item27
  696.             , typename Vector::item28, typename Vector::item29
  697.             , typename Vector::item30, typename Vector::item31
  698.             , typename Vector::item32, typename Vector::item33
  699.             , typename Vector::item34, typename Vector::item35
  700.             , typename Vector::item36, typename Vector::item37
  701.             , typename Vector::item38, typename Vector::item39
  702.             , typename Vector::item40, typename Vector::item41
  703.             , typename Vector::item42
  704.             > type;
  705.     };
  706. };
  707.  
  708. template<>
  709. struct pop_front_impl< aux::vector_tag<44> >
  710. {
  711.     template< typename Vector > struct apply
  712.     {
  713.         typedef vector43<
  714.               typename Vector::item1, typename Vector::item2
  715.             , typename Vector::item3, typename Vector::item4
  716.             , typename Vector::item5, typename Vector::item6
  717.             , typename Vector::item7, typename Vector::item8
  718.             , typename Vector::item9, typename Vector::item10
  719.             , typename Vector::item11, typename Vector::item12
  720.             , typename Vector::item13, typename Vector::item14
  721.             , typename Vector::item15, typename Vector::item16
  722.             , typename Vector::item17, typename Vector::item18
  723.             , typename Vector::item19, typename Vector::item20
  724.             , typename Vector::item21, typename Vector::item22
  725.             , typename Vector::item23, typename Vector::item24
  726.             , typename Vector::item25, typename Vector::item26
  727.             , typename Vector::item27, typename Vector::item28
  728.             , typename Vector::item29, typename Vector::item30
  729.             , typename Vector::item31, typename Vector::item32
  730.             , typename Vector::item33, typename Vector::item34
  731.             , typename Vector::item35, typename Vector::item36
  732.             , typename Vector::item37, typename Vector::item38
  733.             , typename Vector::item39, typename Vector::item40
  734.             , typename Vector::item41, typename Vector::item42
  735.             , typename Vector::item43
  736.             > type;
  737.     };
  738. };
  739.  
  740. template<>
  741. struct push_back_impl< aux::vector_tag<43> >
  742. {
  743.     template< typename Vector, typename T > struct apply
  744.     {
  745.         typedef vector44<
  746.               typename Vector::item0, typename Vector::item1
  747.             , typename Vector::item2, typename Vector::item3
  748.             , typename Vector::item4, typename Vector::item5
  749.             , typename Vector::item6, typename Vector::item7
  750.             , typename Vector::item8, typename Vector::item9
  751.             , typename Vector::item10, typename Vector::item11
  752.             , typename Vector::item12, typename Vector::item13
  753.             , typename Vector::item14, typename Vector::item15
  754.             , typename Vector::item16, typename Vector::item17
  755.             , typename Vector::item18, typename Vector::item19
  756.             , typename Vector::item20, typename Vector::item21
  757.             , typename Vector::item22, typename Vector::item23
  758.             , typename Vector::item24, typename Vector::item25
  759.             , typename Vector::item26, typename Vector::item27
  760.             , typename Vector::item28, typename Vector::item29
  761.             , typename Vector::item30, typename Vector::item31
  762.             , typename Vector::item32, typename Vector::item33
  763.             , typename Vector::item34, typename Vector::item35
  764.             , typename Vector::item36, typename Vector::item37
  765.             , typename Vector::item38, typename Vector::item39
  766.             , typename Vector::item40, typename Vector::item41
  767.             , typename Vector::item42
  768.               ,
  769.               T
  770.             > type;
  771.     };
  772. };
  773.  
  774. template<>
  775. struct pop_back_impl< aux::vector_tag<44> >
  776. {
  777.     template< typename Vector > struct apply
  778.     {
  779.         typedef vector43<
  780.               typename Vector::item0, typename Vector::item1
  781.             , typename Vector::item2, typename Vector::item3
  782.             , typename Vector::item4, typename Vector::item5
  783.             , typename Vector::item6, typename Vector::item7
  784.             , typename Vector::item8, typename Vector::item9
  785.             , typename Vector::item10, typename Vector::item11
  786.             , typename Vector::item12, typename Vector::item13
  787.             , typename Vector::item14, typename Vector::item15
  788.             , typename Vector::item16, typename Vector::item17
  789.             , typename Vector::item18, typename Vector::item19
  790.             , typename Vector::item20, typename Vector::item21
  791.             , typename Vector::item22, typename Vector::item23
  792.             , typename Vector::item24, typename Vector::item25
  793.             , typename Vector::item26, typename Vector::item27
  794.             , typename Vector::item28, typename Vector::item29
  795.             , typename Vector::item30, typename Vector::item31
  796.             , typename Vector::item32, typename Vector::item33
  797.             , typename Vector::item34, typename Vector::item35
  798.             , typename Vector::item36, typename Vector::item37
  799.             , typename Vector::item38, typename Vector::item39
  800.             , typename Vector::item40, typename Vector::item41
  801.             , typename Vector::item42
  802.             > type;
  803.     };
  804. };
  805.  
  806. template< typename V >
  807. struct v_at< V,44 >
  808. {
  809.     typedef typename V::item44 type;
  810. };
  811.  
  812. template<
  813.       typename T0, typename T1, typename T2, typename T3, typename T4
  814.     , typename T5, typename T6, typename T7, typename T8, typename T9
  815.     , typename T10, typename T11, typename T12, typename T13, typename T14
  816.     , typename T15, typename T16, typename T17, typename T18, typename T19
  817.     , typename T20, typename T21, typename T22, typename T23, typename T24
  818.     , typename T25, typename T26, typename T27, typename T28, typename T29
  819.     , typename T30, typename T31, typename T32, typename T33, typename T34
  820.     , typename T35, typename T36, typename T37, typename T38, typename T39
  821.     , typename T40, typename T41, typename T42, typename T43, typename T44
  822.     >
  823. struct vector45
  824. {
  825.     typedef aux::vector_tag<45> tag;
  826.     typedef vector45 type;
  827.     typedef T0 item0;
  828.     typedef T1 item1;
  829.     typedef T2 item2;
  830.     typedef T3 item3;
  831.     typedef T4 item4;
  832.     typedef T5 item5;
  833.     typedef T6 item6;
  834.     typedef T7 item7;
  835.     typedef T8 item8;
  836.     typedef T9 item9;
  837.     typedef T10 item10;
  838.     typedef T11 item11;
  839.     typedef T12 item12;
  840.     typedef T13 item13;
  841.     typedef T14 item14;
  842.     typedef T15 item15;
  843.     typedef T16 item16;
  844.     typedef T17 item17;
  845.     typedef T18 item18;
  846.     typedef T19 item19;
  847.     typedef T20 item20;
  848.     typedef T21 item21;
  849.     typedef T22 item22;
  850.     typedef T23 item23;
  851.     typedef T24 item24;
  852.     typedef T25 item25;
  853.     typedef T26 item26;
  854.     typedef T27 item27;
  855.     typedef T28 item28;
  856.     typedef T29 item29;
  857.     typedef T30 item30;
  858.     typedef T31 item31;
  859.     typedef T32 item32;
  860.     typedef T33 item33;
  861.     typedef T34 item34;
  862.     typedef T35 item35;
  863.     typedef T36 item36;
  864.     typedef T37 item37;
  865.     typedef T38 item38;
  866.     typedef T39 item39;
  867.     typedef T40 item40;
  868.     typedef T41 item41;
  869.     typedef T42 item42;
  870.     typedef T43 item43;
  871.     typedef T44 item44;
  872.    
  873.  
  874.     typedef void_ item45;
  875.     typedef T44 back;
  876.     typedef v_iter< type,0 > begin;
  877.     typedef v_iter< type,45 > end;
  878. };
  879.  
  880. template<>
  881. struct push_front_impl< aux::vector_tag<44> >
  882. {
  883.     template< typename Vector, typename T > struct apply
  884.     {
  885.         typedef vector45<
  886.               T
  887.               ,
  888.               typename Vector::item0, typename Vector::item1
  889.             , typename Vector::item2, typename Vector::item3
  890.             , typename Vector::item4, typename Vector::item5
  891.             , typename Vector::item6, typename Vector::item7
  892.             , typename Vector::item8, typename Vector::item9
  893.             , typename Vector::item10, typename Vector::item11
  894.             , typename Vector::item12, typename Vector::item13
  895.             , typename Vector::item14, typename Vector::item15
  896.             , typename Vector::item16, typename Vector::item17
  897.             , typename Vector::item18, typename Vector::item19
  898.             , typename Vector::item20, typename Vector::item21
  899.             , typename Vector::item22, typename Vector::item23
  900.             , typename Vector::item24, typename Vector::item25
  901.             , typename Vector::item26, typename Vector::item27
  902.             , typename Vector::item28, typename Vector::item29
  903.             , typename Vector::item30, typename Vector::item31
  904.             , typename Vector::item32, typename Vector::item33
  905.             , typename Vector::item34, typename Vector::item35
  906.             , typename Vector::item36, typename Vector::item37
  907.             , typename Vector::item38, typename Vector::item39
  908.             , typename Vector::item40, typename Vector::item41
  909.             , typename Vector::item42, typename Vector::item43
  910.             > type;
  911.     };
  912. };
  913.  
  914. template<>
  915. struct pop_front_impl< aux::vector_tag<45> >
  916. {
  917.     template< typename Vector > struct apply
  918.     {
  919.         typedef vector44<
  920.               typename Vector::item1, typename Vector::item2
  921.             , typename Vector::item3, typename Vector::item4
  922.             , typename Vector::item5, typename Vector::item6
  923.             , typename Vector::item7, typename Vector::item8
  924.             , typename Vector::item9, typename Vector::item10
  925.             , typename Vector::item11, typename Vector::item12
  926.             , typename Vector::item13, typename Vector::item14
  927.             , typename Vector::item15, typename Vector::item16
  928.             , typename Vector::item17, typename Vector::item18
  929.             , typename Vector::item19, typename Vector::item20
  930.             , typename Vector::item21, typename Vector::item22
  931.             , typename Vector::item23, typename Vector::item24
  932.             , typename Vector::item25, typename Vector::item26
  933.             , typename Vector::item27, typename Vector::item28
  934.             , typename Vector::item29, typename Vector::item30
  935.             , typename Vector::item31, typename Vector::item32
  936.             , typename Vector::item33, typename Vector::item34
  937.             , typename Vector::item35, typename Vector::item36
  938.             , typename Vector::item37, typename Vector::item38
  939.             , typename Vector::item39, typename Vector::item40
  940.             , typename Vector::item41, typename Vector::item42
  941.             , typename Vector::item43, typename Vector::item44
  942.             > type;
  943.     };
  944. };
  945.  
  946. template<>
  947. struct push_back_impl< aux::vector_tag<44> >
  948. {
  949.     template< typename Vector, typename T > struct apply
  950.     {
  951.         typedef vector45<
  952.               typename Vector::item0, typename Vector::item1
  953.             , typename Vector::item2, typename Vector::item3
  954.             , typename Vector::item4, typename Vector::item5
  955.             , typename Vector::item6, typename Vector::item7
  956.             , typename Vector::item8, typename Vector::item9
  957.             , typename Vector::item10, typename Vector::item11
  958.             , typename Vector::item12, typename Vector::item13
  959.             , typename Vector::item14, typename Vector::item15
  960.             , typename Vector::item16, typename Vector::item17
  961.             , typename Vector::item18, typename Vector::item19
  962.             , typename Vector::item20, typename Vector::item21
  963.             , typename Vector::item22, typename Vector::item23
  964.             , typename Vector::item24, typename Vector::item25
  965.             , typename Vector::item26, typename Vector::item27
  966.             , typename Vector::item28, typename Vector::item29
  967.             , typename Vector::item30, typename Vector::item31
  968.             , typename Vector::item32, typename Vector::item33
  969.             , typename Vector::item34, typename Vector::item35
  970.             , typename Vector::item36, typename Vector::item37
  971.             , typename Vector::item38, typename Vector::item39
  972.             , typename Vector::item40, typename Vector::item41
  973.             , typename Vector::item42, typename Vector::item43
  974.               ,
  975.               T
  976.             > type;
  977.     };
  978. };
  979.  
  980. template<>
  981. struct pop_back_impl< aux::vector_tag<45> >
  982. {
  983.     template< typename Vector > struct apply
  984.     {
  985.         typedef vector44<
  986.               typename Vector::item0, typename Vector::item1
  987.             , typename Vector::item2, typename Vector::item3
  988.             , typename Vector::item4, typename Vector::item5
  989.             , typename Vector::item6, typename Vector::item7
  990.             , typename Vector::item8, typename Vector::item9
  991.             , typename Vector::item10, typename Vector::item11
  992.             , typename Vector::item12, typename Vector::item13
  993.             , typename Vector::item14, typename Vector::item15
  994.             , typename Vector::item16, typename Vector::item17
  995.             , typename Vector::item18, typename Vector::item19
  996.             , typename Vector::item20, typename Vector::item21
  997.             , typename Vector::item22, typename Vector::item23
  998.             , typename Vector::item24, typename Vector::item25
  999.             , typename Vector::item26, typename Vector::item27
  1000.             , typename Vector::item28, typename Vector::item29
  1001.             , typename Vector::item30, typename Vector::item31
  1002.             , typename Vector::item32, typename Vector::item33
  1003.             , typename Vector::item34, typename Vector::item35
  1004.             , typename Vector::item36, typename Vector::item37
  1005.             , typename Vector::item38, typename Vector::item39
  1006.             , typename Vector::item40, typename Vector::item41
  1007.             , typename Vector::item42, typename Vector::item43
  1008.             > type;
  1009.     };
  1010. };
  1011.  
  1012. template< typename V >
  1013. struct v_at< V,45 >
  1014. {
  1015.     typedef typename V::item45 type;
  1016. };
  1017.  
  1018. template<
  1019.       typename T0, typename T1, typename T2, typename T3, typename T4
  1020.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1021.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1022.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1023.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1024.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1025.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1026.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1027.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1028.     , typename T45
  1029.     >
  1030. struct vector46
  1031. {
  1032.     typedef aux::vector_tag<46> tag;
  1033.     typedef vector46 type;
  1034.     typedef T0 item0;
  1035.     typedef T1 item1;
  1036.     typedef T2 item2;
  1037.     typedef T3 item3;
  1038.     typedef T4 item4;
  1039.     typedef T5 item5;
  1040.     typedef T6 item6;
  1041.     typedef T7 item7;
  1042.     typedef T8 item8;
  1043.     typedef T9 item9;
  1044.     typedef T10 item10;
  1045.     typedef T11 item11;
  1046.     typedef T12 item12;
  1047.     typedef T13 item13;
  1048.     typedef T14 item14;
  1049.     typedef T15 item15;
  1050.     typedef T16 item16;
  1051.     typedef T17 item17;
  1052.     typedef T18 item18;
  1053.     typedef T19 item19;
  1054.     typedef T20 item20;
  1055.     typedef T21 item21;
  1056.     typedef T22 item22;
  1057.     typedef T23 item23;
  1058.     typedef T24 item24;
  1059.     typedef T25 item25;
  1060.     typedef T26 item26;
  1061.     typedef T27 item27;
  1062.     typedef T28 item28;
  1063.     typedef T29 item29;
  1064.     typedef T30 item30;
  1065.     typedef T31 item31;
  1066.     typedef T32 item32;
  1067.     typedef T33 item33;
  1068.     typedef T34 item34;
  1069.     typedef T35 item35;
  1070.     typedef T36 item36;
  1071.     typedef T37 item37;
  1072.     typedef T38 item38;
  1073.     typedef T39 item39;
  1074.     typedef T40 item40;
  1075.     typedef T41 item41;
  1076.     typedef T42 item42;
  1077.     typedef T43 item43;
  1078.     typedef T44 item44;
  1079.     typedef T45 item45;
  1080.    
  1081.  
  1082.     typedef void_ item46;
  1083.     typedef T45 back;
  1084.     typedef v_iter< type,0 > begin;
  1085.     typedef v_iter< type,46 > end;
  1086. };
  1087.  
  1088. template<>
  1089. struct push_front_impl< aux::vector_tag<45> >
  1090. {
  1091.     template< typename Vector, typename T > struct apply
  1092.     {
  1093.         typedef vector46<
  1094.               T
  1095.               ,
  1096.               typename Vector::item0, typename Vector::item1
  1097.             , typename Vector::item2, typename Vector::item3
  1098.             , typename Vector::item4, typename Vector::item5
  1099.             , typename Vector::item6, typename Vector::item7
  1100.             , typename Vector::item8, typename Vector::item9
  1101.             , typename Vector::item10, typename Vector::item11
  1102.             , typename Vector::item12, typename Vector::item13
  1103.             , typename Vector::item14, typename Vector::item15
  1104.             , typename Vector::item16, typename Vector::item17
  1105.             , typename Vector::item18, typename Vector::item19
  1106.             , typename Vector::item20, typename Vector::item21
  1107.             , typename Vector::item22, typename Vector::item23
  1108.             , typename Vector::item24, typename Vector::item25
  1109.             , typename Vector::item26, typename Vector::item27
  1110.             , typename Vector::item28, typename Vector::item29
  1111.             , typename Vector::item30, typename Vector::item31
  1112.             , typename Vector::item32, typename Vector::item33
  1113.             , typename Vector::item34, typename Vector::item35
  1114.             , typename Vector::item36, typename Vector::item37
  1115.             , typename Vector::item38, typename Vector::item39
  1116.             , typename Vector::item40, typename Vector::item41
  1117.             , typename Vector::item42, typename Vector::item43
  1118.             , typename Vector::item44
  1119.             > type;
  1120.     };
  1121. };
  1122.  
  1123. template<>
  1124. struct pop_front_impl< aux::vector_tag<46> >
  1125. {
  1126.     template< typename Vector > struct apply
  1127.     {
  1128.         typedef vector45<
  1129.               typename Vector::item1, typename Vector::item2
  1130.             , typename Vector::item3, typename Vector::item4
  1131.             , typename Vector::item5, typename Vector::item6
  1132.             , typename Vector::item7, typename Vector::item8
  1133.             , typename Vector::item9, typename Vector::item10
  1134.             , typename Vector::item11, typename Vector::item12
  1135.             , typename Vector::item13, typename Vector::item14
  1136.             , typename Vector::item15, typename Vector::item16
  1137.             , typename Vector::item17, typename Vector::item18
  1138.             , typename Vector::item19, typename Vector::item20
  1139.             , typename Vector::item21, typename Vector::item22
  1140.             , typename Vector::item23, typename Vector::item24
  1141.             , typename Vector::item25, typename Vector::item26
  1142.             , typename Vector::item27, typename Vector::item28
  1143.             , typename Vector::item29, typename Vector::item30
  1144.             , typename Vector::item31, typename Vector::item32
  1145.             , typename Vector::item33, typename Vector::item34
  1146.             , typename Vector::item35, typename Vector::item36
  1147.             , typename Vector::item37, typename Vector::item38
  1148.             , typename Vector::item39, typename Vector::item40
  1149.             , typename Vector::item41, typename Vector::item42
  1150.             , typename Vector::item43, typename Vector::item44
  1151.             , typename Vector::item45
  1152.             > type;
  1153.     };
  1154. };
  1155.  
  1156. template<>
  1157. struct push_back_impl< aux::vector_tag<45> >
  1158. {
  1159.     template< typename Vector, typename T > struct apply
  1160.     {
  1161.         typedef vector46<
  1162.               typename Vector::item0, typename Vector::item1
  1163.             , typename Vector::item2, typename Vector::item3
  1164.             , typename Vector::item4, typename Vector::item5
  1165.             , typename Vector::item6, typename Vector::item7
  1166.             , typename Vector::item8, typename Vector::item9
  1167.             , typename Vector::item10, typename Vector::item11
  1168.             , typename Vector::item12, typename Vector::item13
  1169.             , typename Vector::item14, typename Vector::item15
  1170.             , typename Vector::item16, typename Vector::item17
  1171.             , typename Vector::item18, typename Vector::item19
  1172.             , typename Vector::item20, typename Vector::item21
  1173.             , typename Vector::item22, typename Vector::item23
  1174.             , typename Vector::item24, typename Vector::item25
  1175.             , typename Vector::item26, typename Vector::item27
  1176.             , typename Vector::item28, typename Vector::item29
  1177.             , typename Vector::item30, typename Vector::item31
  1178.             , typename Vector::item32, typename Vector::item33
  1179.             , typename Vector::item34, typename Vector::item35
  1180.             , typename Vector::item36, typename Vector::item37
  1181.             , typename Vector::item38, typename Vector::item39
  1182.             , typename Vector::item40, typename Vector::item41
  1183.             , typename Vector::item42, typename Vector::item43
  1184.             , typename Vector::item44
  1185.               ,
  1186.               T
  1187.             > type;
  1188.     };
  1189. };
  1190.  
  1191. template<>
  1192. struct pop_back_impl< aux::vector_tag<46> >
  1193. {
  1194.     template< typename Vector > struct apply
  1195.     {
  1196.         typedef vector45<
  1197.               typename Vector::item0, typename Vector::item1
  1198.             , typename Vector::item2, typename Vector::item3
  1199.             , typename Vector::item4, typename Vector::item5
  1200.             , typename Vector::item6, typename Vector::item7
  1201.             , typename Vector::item8, typename Vector::item9
  1202.             , typename Vector::item10, typename Vector::item11
  1203.             , typename Vector::item12, typename Vector::item13
  1204.             , typename Vector::item14, typename Vector::item15
  1205.             , typename Vector::item16, typename Vector::item17
  1206.             , typename Vector::item18, typename Vector::item19
  1207.             , typename Vector::item20, typename Vector::item21
  1208.             , typename Vector::item22, typename Vector::item23
  1209.             , typename Vector::item24, typename Vector::item25
  1210.             , typename Vector::item26, typename Vector::item27
  1211.             , typename Vector::item28, typename Vector::item29
  1212.             , typename Vector::item30, typename Vector::item31
  1213.             , typename Vector::item32, typename Vector::item33
  1214.             , typename Vector::item34, typename Vector::item35
  1215.             , typename Vector::item36, typename Vector::item37
  1216.             , typename Vector::item38, typename Vector::item39
  1217.             , typename Vector::item40, typename Vector::item41
  1218.             , typename Vector::item42, typename Vector::item43
  1219.             , typename Vector::item44
  1220.             > type;
  1221.     };
  1222. };
  1223.  
  1224. template< typename V >
  1225. struct v_at< V,46 >
  1226. {
  1227.     typedef typename V::item46 type;
  1228. };
  1229.  
  1230. template<
  1231.       typename T0, typename T1, typename T2, typename T3, typename T4
  1232.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1233.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1234.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1235.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1236.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1237.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1238.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1239.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1240.     , typename T45, typename T46
  1241.     >
  1242. struct vector47
  1243. {
  1244.     typedef aux::vector_tag<47> tag;
  1245.     typedef vector47 type;
  1246.     typedef T0 item0;
  1247.     typedef T1 item1;
  1248.     typedef T2 item2;
  1249.     typedef T3 item3;
  1250.     typedef T4 item4;
  1251.     typedef T5 item5;
  1252.     typedef T6 item6;
  1253.     typedef T7 item7;
  1254.     typedef T8 item8;
  1255.     typedef T9 item9;
  1256.     typedef T10 item10;
  1257.     typedef T11 item11;
  1258.     typedef T12 item12;
  1259.     typedef T13 item13;
  1260.     typedef T14 item14;
  1261.     typedef T15 item15;
  1262.     typedef T16 item16;
  1263.     typedef T17 item17;
  1264.     typedef T18 item18;
  1265.     typedef T19 item19;
  1266.     typedef T20 item20;
  1267.     typedef T21 item21;
  1268.     typedef T22 item22;
  1269.     typedef T23 item23;
  1270.     typedef T24 item24;
  1271.     typedef T25 item25;
  1272.     typedef T26 item26;
  1273.     typedef T27 item27;
  1274.     typedef T28 item28;
  1275.     typedef T29 item29;
  1276.     typedef T30 item30;
  1277.     typedef T31 item31;
  1278.     typedef T32 item32;
  1279.     typedef T33 item33;
  1280.     typedef T34 item34;
  1281.     typedef T35 item35;
  1282.     typedef T36 item36;
  1283.     typedef T37 item37;
  1284.     typedef T38 item38;
  1285.     typedef T39 item39;
  1286.     typedef T40 item40;
  1287.     typedef T41 item41;
  1288.     typedef T42 item42;
  1289.     typedef T43 item43;
  1290.     typedef T44 item44;
  1291.     typedef T45 item45;
  1292.     typedef T46 item46;
  1293.    
  1294.  
  1295.     typedef void_ item47;
  1296.     typedef T46 back;
  1297.     typedef v_iter< type,0 > begin;
  1298.     typedef v_iter< type,47 > end;
  1299. };
  1300.  
  1301. template<>
  1302. struct push_front_impl< aux::vector_tag<46> >
  1303. {
  1304.     template< typename Vector, typename T > struct apply
  1305.     {
  1306.         typedef vector47<
  1307.               T
  1308.               ,
  1309.               typename Vector::item0, typename Vector::item1
  1310.             , typename Vector::item2, typename Vector::item3
  1311.             , typename Vector::item4, typename Vector::item5
  1312.             , typename Vector::item6, typename Vector::item7
  1313.             , typename Vector::item8, typename Vector::item9
  1314.             , typename Vector::item10, typename Vector::item11
  1315.             , typename Vector::item12, typename Vector::item13
  1316.             , typename Vector::item14, typename Vector::item15
  1317.             , typename Vector::item16, typename Vector::item17
  1318.             , typename Vector::item18, typename Vector::item19
  1319.             , typename Vector::item20, typename Vector::item21
  1320.             , typename Vector::item22, typename Vector::item23
  1321.             , typename Vector::item24, typename Vector::item25
  1322.             , typename Vector::item26, typename Vector::item27
  1323.             , typename Vector::item28, typename Vector::item29
  1324.             , typename Vector::item30, typename Vector::item31
  1325.             , typename Vector::item32, typename Vector::item33
  1326.             , typename Vector::item34, typename Vector::item35
  1327.             , typename Vector::item36, typename Vector::item37
  1328.             , typename Vector::item38, typename Vector::item39
  1329.             , typename Vector::item40, typename Vector::item41
  1330.             , typename Vector::item42, typename Vector::item43
  1331.             , typename Vector::item44, typename Vector::item45
  1332.             > type;
  1333.     };
  1334. };
  1335.  
  1336. template<>
  1337. struct pop_front_impl< aux::vector_tag<47> >
  1338. {
  1339.     template< typename Vector > struct apply
  1340.     {
  1341.         typedef vector46<
  1342.               typename Vector::item1, typename Vector::item2
  1343.             , typename Vector::item3, typename Vector::item4
  1344.             , typename Vector::item5, typename Vector::item6
  1345.             , typename Vector::item7, typename Vector::item8
  1346.             , typename Vector::item9, typename Vector::item10
  1347.             , typename Vector::item11, typename Vector::item12
  1348.             , typename Vector::item13, typename Vector::item14
  1349.             , typename Vector::item15, typename Vector::item16
  1350.             , typename Vector::item17, typename Vector::item18
  1351.             , typename Vector::item19, typename Vector::item20
  1352.             , typename Vector::item21, typename Vector::item22
  1353.             , typename Vector::item23, typename Vector::item24
  1354.             , typename Vector::item25, typename Vector::item26
  1355.             , typename Vector::item27, typename Vector::item28
  1356.             , typename Vector::item29, typename Vector::item30
  1357.             , typename Vector::item31, typename Vector::item32
  1358.             , typename Vector::item33, typename Vector::item34
  1359.             , typename Vector::item35, typename Vector::item36
  1360.             , typename Vector::item37, typename Vector::item38
  1361.             , typename Vector::item39, typename Vector::item40
  1362.             , typename Vector::item41, typename Vector::item42
  1363.             , typename Vector::item43, typename Vector::item44
  1364.             , typename Vector::item45, typename Vector::item46
  1365.             > type;
  1366.     };
  1367. };
  1368.  
  1369. template<>
  1370. struct push_back_impl< aux::vector_tag<46> >
  1371. {
  1372.     template< typename Vector, typename T > struct apply
  1373.     {
  1374.         typedef vector47<
  1375.               typename Vector::item0, typename Vector::item1
  1376.             , typename Vector::item2, typename Vector::item3
  1377.             , typename Vector::item4, typename Vector::item5
  1378.             , typename Vector::item6, typename Vector::item7
  1379.             , typename Vector::item8, typename Vector::item9
  1380.             , typename Vector::item10, typename Vector::item11
  1381.             , typename Vector::item12, typename Vector::item13
  1382.             , typename Vector::item14, typename Vector::item15
  1383.             , typename Vector::item16, typename Vector::item17
  1384.             , typename Vector::item18, typename Vector::item19
  1385.             , typename Vector::item20, typename Vector::item21
  1386.             , typename Vector::item22, typename Vector::item23
  1387.             , typename Vector::item24, typename Vector::item25
  1388.             , typename Vector::item26, typename Vector::item27
  1389.             , typename Vector::item28, typename Vector::item29
  1390.             , typename Vector::item30, typename Vector::item31
  1391.             , typename Vector::item32, typename Vector::item33
  1392.             , typename Vector::item34, typename Vector::item35
  1393.             , typename Vector::item36, typename Vector::item37
  1394.             , typename Vector::item38, typename Vector::item39
  1395.             , typename Vector::item40, typename Vector::item41
  1396.             , typename Vector::item42, typename Vector::item43
  1397.             , typename Vector::item44, typename Vector::item45
  1398.               ,
  1399.               T
  1400.             > type;
  1401.     };
  1402. };
  1403.  
  1404. template<>
  1405. struct pop_back_impl< aux::vector_tag<47> >
  1406. {
  1407.     template< typename Vector > struct apply
  1408.     {
  1409.         typedef vector46<
  1410.               typename Vector::item0, typename Vector::item1
  1411.             , typename Vector::item2, typename Vector::item3
  1412.             , typename Vector::item4, typename Vector::item5
  1413.             , typename Vector::item6, typename Vector::item7
  1414.             , typename Vector::item8, typename Vector::item9
  1415.             , typename Vector::item10, typename Vector::item11
  1416.             , typename Vector::item12, typename Vector::item13
  1417.             , typename Vector::item14, typename Vector::item15
  1418.             , typename Vector::item16, typename Vector::item17
  1419.             , typename Vector::item18, typename Vector::item19
  1420.             , typename Vector::item20, typename Vector::item21
  1421.             , typename Vector::item22, typename Vector::item23
  1422.             , typename Vector::item24, typename Vector::item25
  1423.             , typename Vector::item26, typename Vector::item27
  1424.             , typename Vector::item28, typename Vector::item29
  1425.             , typename Vector::item30, typename Vector::item31
  1426.             , typename Vector::item32, typename Vector::item33
  1427.             , typename Vector::item34, typename Vector::item35
  1428.             , typename Vector::item36, typename Vector::item37
  1429.             , typename Vector::item38, typename Vector::item39
  1430.             , typename Vector::item40, typename Vector::item41
  1431.             , typename Vector::item42, typename Vector::item43
  1432.             , typename Vector::item44, typename Vector::item45
  1433.             > type;
  1434.     };
  1435. };
  1436.  
  1437. template< typename V >
  1438. struct v_at< V,47 >
  1439. {
  1440.     typedef typename V::item47 type;
  1441. };
  1442.  
  1443. template<
  1444.       typename T0, typename T1, typename T2, typename T3, typename T4
  1445.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1446.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1447.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1448.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1449.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1450.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1451.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1452.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1453.     , typename T45, typename T46, typename T47
  1454.     >
  1455. struct vector48
  1456. {
  1457.     typedef aux::vector_tag<48> tag;
  1458.     typedef vector48 type;
  1459.     typedef T0 item0;
  1460.     typedef T1 item1;
  1461.     typedef T2 item2;
  1462.     typedef T3 item3;
  1463.     typedef T4 item4;
  1464.     typedef T5 item5;
  1465.     typedef T6 item6;
  1466.     typedef T7 item7;
  1467.     typedef T8 item8;
  1468.     typedef T9 item9;
  1469.     typedef T10 item10;
  1470.     typedef T11 item11;
  1471.     typedef T12 item12;
  1472.     typedef T13 item13;
  1473.     typedef T14 item14;
  1474.     typedef T15 item15;
  1475.     typedef T16 item16;
  1476.     typedef T17 item17;
  1477.     typedef T18 item18;
  1478.     typedef T19 item19;
  1479.     typedef T20 item20;
  1480.     typedef T21 item21;
  1481.     typedef T22 item22;
  1482.     typedef T23 item23;
  1483.     typedef T24 item24;
  1484.     typedef T25 item25;
  1485.     typedef T26 item26;
  1486.     typedef T27 item27;
  1487.     typedef T28 item28;
  1488.     typedef T29 item29;
  1489.     typedef T30 item30;
  1490.     typedef T31 item31;
  1491.     typedef T32 item32;
  1492.     typedef T33 item33;
  1493.     typedef T34 item34;
  1494.     typedef T35 item35;
  1495.     typedef T36 item36;
  1496.     typedef T37 item37;
  1497.     typedef T38 item38;
  1498.     typedef T39 item39;
  1499.     typedef T40 item40;
  1500.     typedef T41 item41;
  1501.     typedef T42 item42;
  1502.     typedef T43 item43;
  1503.     typedef T44 item44;
  1504.     typedef T45 item45;
  1505.     typedef T46 item46;
  1506.     typedef T47 item47;
  1507.    
  1508.  
  1509.     typedef void_ item48;
  1510.     typedef T47 back;
  1511.     typedef v_iter< type,0 > begin;
  1512.     typedef v_iter< type,48 > end;
  1513. };
  1514.  
  1515. template<>
  1516. struct push_front_impl< aux::vector_tag<47> >
  1517. {
  1518.     template< typename Vector, typename T > struct apply
  1519.     {
  1520.         typedef vector48<
  1521.               T
  1522.               ,
  1523.               typename Vector::item0, typename Vector::item1
  1524.             , typename Vector::item2, typename Vector::item3
  1525.             , typename Vector::item4, typename Vector::item5
  1526.             , typename Vector::item6, typename Vector::item7
  1527.             , typename Vector::item8, typename Vector::item9
  1528.             , typename Vector::item10, typename Vector::item11
  1529.             , typename Vector::item12, typename Vector::item13
  1530.             , typename Vector::item14, typename Vector::item15
  1531.             , typename Vector::item16, typename Vector::item17
  1532.             , typename Vector::item18, typename Vector::item19
  1533.             , typename Vector::item20, typename Vector::item21
  1534.             , typename Vector::item22, typename Vector::item23
  1535.             , typename Vector::item24, typename Vector::item25
  1536.             , typename Vector::item26, typename Vector::item27
  1537.             , typename Vector::item28, typename Vector::item29
  1538.             , typename Vector::item30, typename Vector::item31
  1539.             , typename Vector::item32, typename Vector::item33
  1540.             , typename Vector::item34, typename Vector::item35
  1541.             , typename Vector::item36, typename Vector::item37
  1542.             , typename Vector::item38, typename Vector::item39
  1543.             , typename Vector::item40, typename Vector::item41
  1544.             , typename Vector::item42, typename Vector::item43
  1545.             , typename Vector::item44, typename Vector::item45
  1546.             , typename Vector::item46
  1547.             > type;
  1548.     };
  1549. };
  1550.  
  1551. template<>
  1552. struct pop_front_impl< aux::vector_tag<48> >
  1553. {
  1554.     template< typename Vector > struct apply
  1555.     {
  1556.         typedef vector47<
  1557.               typename Vector::item1, typename Vector::item2
  1558.             , typename Vector::item3, typename Vector::item4
  1559.             , typename Vector::item5, typename Vector::item6
  1560.             , typename Vector::item7, typename Vector::item8
  1561.             , typename Vector::item9, typename Vector::item10
  1562.             , typename Vector::item11, typename Vector::item12
  1563.             , typename Vector::item13, typename Vector::item14
  1564.             , typename Vector::item15, typename Vector::item16
  1565.             , typename Vector::item17, typename Vector::item18
  1566.             , typename Vector::item19, typename Vector::item20
  1567.             , typename Vector::item21, typename Vector::item22
  1568.             , typename Vector::item23, typename Vector::item24
  1569.             , typename Vector::item25, typename Vector::item26
  1570.             , typename Vector::item27, typename Vector::item28
  1571.             , typename Vector::item29, typename Vector::item30
  1572.             , typename Vector::item31, typename Vector::item32
  1573.             , typename Vector::item33, typename Vector::item34
  1574.             , typename Vector::item35, typename Vector::item36
  1575.             , typename Vector::item37, typename Vector::item38
  1576.             , typename Vector::item39, typename Vector::item40
  1577.             , typename Vector::item41, typename Vector::item42
  1578.             , typename Vector::item43, typename Vector::item44
  1579.             , typename Vector::item45, typename Vector::item46
  1580.             , typename Vector::item47
  1581.             > type;
  1582.     };
  1583. };
  1584.  
  1585. template<>
  1586. struct push_back_impl< aux::vector_tag<47> >
  1587. {
  1588.     template< typename Vector, typename T > struct apply
  1589.     {
  1590.         typedef vector48<
  1591.               typename Vector::item0, typename Vector::item1
  1592.             , typename Vector::item2, typename Vector::item3
  1593.             , typename Vector::item4, typename Vector::item5
  1594.             , typename Vector::item6, typename Vector::item7
  1595.             , typename Vector::item8, typename Vector::item9
  1596.             , typename Vector::item10, typename Vector::item11
  1597.             , typename Vector::item12, typename Vector::item13
  1598.             , typename Vector::item14, typename Vector::item15
  1599.             , typename Vector::item16, typename Vector::item17
  1600.             , typename Vector::item18, typename Vector::item19
  1601.             , typename Vector::item20, typename Vector::item21
  1602.             , typename Vector::item22, typename Vector::item23
  1603.             , typename Vector::item24, typename Vector::item25
  1604.             , typename Vector::item26, typename Vector::item27
  1605.             , typename Vector::item28, typename Vector::item29
  1606.             , typename Vector::item30, typename Vector::item31
  1607.             , typename Vector::item32, typename Vector::item33
  1608.             , typename Vector::item34, typename Vector::item35
  1609.             , typename Vector::item36, typename Vector::item37
  1610.             , typename Vector::item38, typename Vector::item39
  1611.             , typename Vector::item40, typename Vector::item41
  1612.             , typename Vector::item42, typename Vector::item43
  1613.             , typename Vector::item44, typename Vector::item45
  1614.             , typename Vector::item46
  1615.               ,
  1616.               T
  1617.             > type;
  1618.     };
  1619. };
  1620.  
  1621. template<>
  1622. struct pop_back_impl< aux::vector_tag<48> >
  1623. {
  1624.     template< typename Vector > struct apply
  1625.     {
  1626.         typedef vector47<
  1627.               typename Vector::item0, typename Vector::item1
  1628.             , typename Vector::item2, typename Vector::item3
  1629.             , typename Vector::item4, typename Vector::item5
  1630.             , typename Vector::item6, typename Vector::item7
  1631.             , typename Vector::item8, typename Vector::item9
  1632.             , typename Vector::item10, typename Vector::item11
  1633.             , typename Vector::item12, typename Vector::item13
  1634.             , typename Vector::item14, typename Vector::item15
  1635.             , typename Vector::item16, typename Vector::item17
  1636.             , typename Vector::item18, typename Vector::item19
  1637.             , typename Vector::item20, typename Vector::item21
  1638.             , typename Vector::item22, typename Vector::item23
  1639.             , typename Vector::item24, typename Vector::item25
  1640.             , typename Vector::item26, typename Vector::item27
  1641.             , typename Vector::item28, typename Vector::item29
  1642.             , typename Vector::item30, typename Vector::item31
  1643.             , typename Vector::item32, typename Vector::item33
  1644.             , typename Vector::item34, typename Vector::item35
  1645.             , typename Vector::item36, typename Vector::item37
  1646.             , typename Vector::item38, typename Vector::item39
  1647.             , typename Vector::item40, typename Vector::item41
  1648.             , typename Vector::item42, typename Vector::item43
  1649.             , typename Vector::item44, typename Vector::item45
  1650.             , typename Vector::item46
  1651.             > type;
  1652.     };
  1653. };
  1654.  
  1655. template< typename V >
  1656. struct v_at< V,48 >
  1657. {
  1658.     typedef typename V::item48 type;
  1659. };
  1660.  
  1661. template<
  1662.       typename T0, typename T1, typename T2, typename T3, typename T4
  1663.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1664.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1665.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1666.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1667.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1668.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1669.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1670.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1671.     , typename T45, typename T46, typename T47, typename T48
  1672.     >
  1673. struct vector49
  1674. {
  1675.     typedef aux::vector_tag<49> tag;
  1676.     typedef vector49 type;
  1677.     typedef T0 item0;
  1678.     typedef T1 item1;
  1679.     typedef T2 item2;
  1680.     typedef T3 item3;
  1681.     typedef T4 item4;
  1682.     typedef T5 item5;
  1683.     typedef T6 item6;
  1684.     typedef T7 item7;
  1685.     typedef T8 item8;
  1686.     typedef T9 item9;
  1687.     typedef T10 item10;
  1688.     typedef T11 item11;
  1689.     typedef T12 item12;
  1690.     typedef T13 item13;
  1691.     typedef T14 item14;
  1692.     typedef T15 item15;
  1693.     typedef T16 item16;
  1694.     typedef T17 item17;
  1695.     typedef T18 item18;
  1696.     typedef T19 item19;
  1697.     typedef T20 item20;
  1698.     typedef T21 item21;
  1699.     typedef T22 item22;
  1700.     typedef T23 item23;
  1701.     typedef T24 item24;
  1702.     typedef T25 item25;
  1703.     typedef T26 item26;
  1704.     typedef T27 item27;
  1705.     typedef T28 item28;
  1706.     typedef T29 item29;
  1707.     typedef T30 item30;
  1708.     typedef T31 item31;
  1709.     typedef T32 item32;
  1710.     typedef T33 item33;
  1711.     typedef T34 item34;
  1712.     typedef T35 item35;
  1713.     typedef T36 item36;
  1714.     typedef T37 item37;
  1715.     typedef T38 item38;
  1716.     typedef T39 item39;
  1717.     typedef T40 item40;
  1718.     typedef T41 item41;
  1719.     typedef T42 item42;
  1720.     typedef T43 item43;
  1721.     typedef T44 item44;
  1722.     typedef T45 item45;
  1723.     typedef T46 item46;
  1724.     typedef T47 item47;
  1725.     typedef T48 item48;
  1726.    
  1727.  
  1728.     typedef void_ item49;
  1729.     typedef T48 back;
  1730.     typedef v_iter< type,0 > begin;
  1731.     typedef v_iter< type,49 > end;
  1732. };
  1733.  
  1734. template<>
  1735. struct push_front_impl< aux::vector_tag<48> >
  1736. {
  1737.     template< typename Vector, typename T > struct apply
  1738.     {
  1739.         typedef vector49<
  1740.               T
  1741.               ,
  1742.               typename Vector::item0, typename Vector::item1
  1743.             , typename Vector::item2, typename Vector::item3
  1744.             , typename Vector::item4, typename Vector::item5
  1745.             , typename Vector::item6, typename Vector::item7
  1746.             , typename Vector::item8, typename Vector::item9
  1747.             , typename Vector::item10, typename Vector::item11
  1748.             , typename Vector::item12, typename Vector::item13
  1749.             , typename Vector::item14, typename Vector::item15
  1750.             , typename Vector::item16, typename Vector::item17
  1751.             , typename Vector::item18, typename Vector::item19
  1752.             , typename Vector::item20, typename Vector::item21
  1753.             , typename Vector::item22, typename Vector::item23
  1754.             , typename Vector::item24, typename Vector::item25
  1755.             , typename Vector::item26, typename Vector::item27
  1756.             , typename Vector::item28, typename Vector::item29
  1757.             , typename Vector::item30, typename Vector::item31
  1758.             , typename Vector::item32, typename Vector::item33
  1759.             , typename Vector::item34, typename Vector::item35
  1760.             , typename Vector::item36, typename Vector::item37
  1761.             , typename Vector::item38, typename Vector::item39
  1762.             , typename Vector::item40, typename Vector::item41
  1763.             , typename Vector::item42, typename Vector::item43
  1764.             , typename Vector::item44, typename Vector::item45
  1765.             , typename Vector::item46, typename Vector::item47
  1766.             > type;
  1767.     };
  1768. };
  1769.  
  1770. template<>
  1771. struct pop_front_impl< aux::vector_tag<49> >
  1772. {
  1773.     template< typename Vector > struct apply
  1774.     {
  1775.         typedef vector48<
  1776.               typename Vector::item1, typename Vector::item2
  1777.             , typename Vector::item3, typename Vector::item4
  1778.             , typename Vector::item5, typename Vector::item6
  1779.             , typename Vector::item7, typename Vector::item8
  1780.             , typename Vector::item9, typename Vector::item10
  1781.             , typename Vector::item11, typename Vector::item12
  1782.             , typename Vector::item13, typename Vector::item14
  1783.             , typename Vector::item15, typename Vector::item16
  1784.             , typename Vector::item17, typename Vector::item18
  1785.             , typename Vector::item19, typename Vector::item20
  1786.             , typename Vector::item21, typename Vector::item22
  1787.             , typename Vector::item23, typename Vector::item24
  1788.             , typename Vector::item25, typename Vector::item26
  1789.             , typename Vector::item27, typename Vector::item28
  1790.             , typename Vector::item29, typename Vector::item30
  1791.             , typename Vector::item31, typename Vector::item32
  1792.             , typename Vector::item33, typename Vector::item34
  1793.             , typename Vector::item35, typename Vector::item36
  1794.             , typename Vector::item37, typename Vector::item38
  1795.             , typename Vector::item39, typename Vector::item40
  1796.             , typename Vector::item41, typename Vector::item42
  1797.             , typename Vector::item43, typename Vector::item44
  1798.             , typename Vector::item45, typename Vector::item46
  1799.             , typename Vector::item47, typename Vector::item48
  1800.             > type;
  1801.     };
  1802. };
  1803.  
  1804. template<>
  1805. struct push_back_impl< aux::vector_tag<48> >
  1806. {
  1807.     template< typename Vector, typename T > struct apply
  1808.     {
  1809.         typedef vector49<
  1810.               typename Vector::item0, typename Vector::item1
  1811.             , typename Vector::item2, typename Vector::item3
  1812.             , typename Vector::item4, typename Vector::item5
  1813.             , typename Vector::item6, typename Vector::item7
  1814.             , typename Vector::item8, typename Vector::item9
  1815.             , typename Vector::item10, typename Vector::item11
  1816.             , typename Vector::item12, typename Vector::item13
  1817.             , typename Vector::item14, typename Vector::item15
  1818.             , typename Vector::item16, typename Vector::item17
  1819.             , typename Vector::item18, typename Vector::item19
  1820.             , typename Vector::item20, typename Vector::item21
  1821.             , typename Vector::item22, typename Vector::item23
  1822.             , typename Vector::item24, typename Vector::item25
  1823.             , typename Vector::item26, typename Vector::item27
  1824.             , typename Vector::item28, typename Vector::item29
  1825.             , typename Vector::item30, typename Vector::item31
  1826.             , typename Vector::item32, typename Vector::item33
  1827.             , typename Vector::item34, typename Vector::item35
  1828.             , typename Vector::item36, typename Vector::item37
  1829.             , typename Vector::item38, typename Vector::item39
  1830.             , typename Vector::item40, typename Vector::item41
  1831.             , typename Vector::item42, typename Vector::item43
  1832.             , typename Vector::item44, typename Vector::item45
  1833.             , typename Vector::item46, typename Vector::item47
  1834.               ,
  1835.               T
  1836.             > type;
  1837.     };
  1838. };
  1839.  
  1840. template<>
  1841. struct pop_back_impl< aux::vector_tag<49> >
  1842. {
  1843.     template< typename Vector > struct apply
  1844.     {
  1845.         typedef vector48<
  1846.               typename Vector::item0, typename Vector::item1
  1847.             , typename Vector::item2, typename Vector::item3
  1848.             , typename Vector::item4, typename Vector::item5
  1849.             , typename Vector::item6, typename Vector::item7
  1850.             , typename Vector::item8, typename Vector::item9
  1851.             , typename Vector::item10, typename Vector::item11
  1852.             , typename Vector::item12, typename Vector::item13
  1853.             , typename Vector::item14, typename Vector::item15
  1854.             , typename Vector::item16, typename Vector::item17
  1855.             , typename Vector::item18, typename Vector::item19
  1856.             , typename Vector::item20, typename Vector::item21
  1857.             , typename Vector::item22, typename Vector::item23
  1858.             , typename Vector::item24, typename Vector::item25
  1859.             , typename Vector::item26, typename Vector::item27
  1860.             , typename Vector::item28, typename Vector::item29
  1861.             , typename Vector::item30, typename Vector::item31
  1862.             , typename Vector::item32, typename Vector::item33
  1863.             , typename Vector::item34, typename Vector::item35
  1864.             , typename Vector::item36, typename Vector::item37
  1865.             , typename Vector::item38, typename Vector::item39
  1866.             , typename Vector::item40, typename Vector::item41
  1867.             , typename Vector::item42, typename Vector::item43
  1868.             , typename Vector::item44, typename Vector::item45
  1869.             , typename Vector::item46, typename Vector::item47
  1870.             > type;
  1871.     };
  1872. };
  1873.  
  1874. template< typename V >
  1875. struct v_at< V,49 >
  1876. {
  1877.     typedef typename V::item49 type;
  1878. };
  1879.  
  1880. template<
  1881.       typename T0, typename T1, typename T2, typename T3, typename T4
  1882.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1883.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1884.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1885.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1886.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1887.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1888.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1889.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1890.     , typename T45, typename T46, typename T47, typename T48, typename T49
  1891.     >
  1892. struct vector50
  1893. {
  1894.     typedef aux::vector_tag<50> tag;
  1895.     typedef vector50 type;
  1896.     typedef T0 item0;
  1897.     typedef T1 item1;
  1898.     typedef T2 item2;
  1899.     typedef T3 item3;
  1900.     typedef T4 item4;
  1901.     typedef T5 item5;
  1902.     typedef T6 item6;
  1903.     typedef T7 item7;
  1904.     typedef T8 item8;
  1905.     typedef T9 item9;
  1906.     typedef T10 item10;
  1907.     typedef T11 item11;
  1908.     typedef T12 item12;
  1909.     typedef T13 item13;
  1910.     typedef T14 item14;
  1911.     typedef T15 item15;
  1912.     typedef T16 item16;
  1913.     typedef T17 item17;
  1914.     typedef T18 item18;
  1915.     typedef T19 item19;
  1916.     typedef T20 item20;
  1917.     typedef T21 item21;
  1918.     typedef T22 item22;
  1919.     typedef T23 item23;
  1920.     typedef T24 item24;
  1921.     typedef T25 item25;
  1922.     typedef T26 item26;
  1923.     typedef T27 item27;
  1924.     typedef T28 item28;
  1925.     typedef T29 item29;
  1926.     typedef T30 item30;
  1927.     typedef T31 item31;
  1928.     typedef T32 item32;
  1929.     typedef T33 item33;
  1930.     typedef T34 item34;
  1931.     typedef T35 item35;
  1932.     typedef T36 item36;
  1933.     typedef T37 item37;
  1934.     typedef T38 item38;
  1935.     typedef T39 item39;
  1936.     typedef T40 item40;
  1937.     typedef T41 item41;
  1938.     typedef T42 item42;
  1939.     typedef T43 item43;
  1940.     typedef T44 item44;
  1941.     typedef T45 item45;
  1942.     typedef T46 item46;
  1943.     typedef T47 item47;
  1944.     typedef T48 item48;
  1945.     typedef T49 item49;
  1946.    
  1947.  
  1948.     typedef void_ item50;
  1949.     typedef T49 back;
  1950.     typedef v_iter< type,0 > begin;
  1951.     typedef v_iter< type,50 > end;
  1952. };
  1953.  
  1954. template<>
  1955. struct push_front_impl< aux::vector_tag<49> >
  1956. {
  1957.     template< typename Vector, typename T > struct apply
  1958.     {
  1959.         typedef vector50<
  1960.               T
  1961.               ,
  1962.               typename Vector::item0, typename Vector::item1
  1963.             , typename Vector::item2, typename Vector::item3
  1964.             , typename Vector::item4, typename Vector::item5
  1965.             , typename Vector::item6, typename Vector::item7
  1966.             , typename Vector::item8, typename Vector::item9
  1967.             , typename Vector::item10, typename Vector::item11
  1968.             , typename Vector::item12, typename Vector::item13
  1969.             , typename Vector::item14, typename Vector::item15
  1970.             , typename Vector::item16, typename Vector::item17
  1971.             , typename Vector::item18, typename Vector::item19
  1972.             , typename Vector::item20, typename Vector::item21
  1973.             , typename Vector::item22, typename Vector::item23
  1974.             , typename Vector::item24, typename Vector::item25
  1975.             , typename Vector::item26, typename Vector::item27
  1976.             , typename Vector::item28, typename Vector::item29
  1977.             , typename Vector::item30, typename Vector::item31
  1978.             , typename Vector::item32, typename Vector::item33
  1979.             , typename Vector::item34, typename Vector::item35
  1980.             , typename Vector::item36, typename Vector::item37
  1981.             , typename Vector::item38, typename Vector::item39
  1982.             , typename Vector::item40, typename Vector::item41
  1983.             , typename Vector::item42, typename Vector::item43
  1984.             , typename Vector::item44, typename Vector::item45
  1985.             , typename Vector::item46, typename Vector::item47
  1986.             , typename Vector::item48
  1987.             > type;
  1988.     };
  1989. };
  1990.  
  1991. template<>
  1992. struct pop_front_impl< aux::vector_tag<50> >
  1993. {
  1994.     template< typename Vector > struct apply
  1995.     {
  1996.         typedef vector49<
  1997.               typename Vector::item1, typename Vector::item2
  1998.             , typename Vector::item3, typename Vector::item4
  1999.             , typename Vector::item5, typename Vector::item6
  2000.             , typename Vector::item7, typename Vector::item8
  2001.             , typename Vector::item9, typename Vector::item10
  2002.             , typename Vector::item11, typename Vector::item12
  2003.             , typename Vector::item13, typename Vector::item14
  2004.             , typename Vector::item15, typename Vector::item16
  2005.             , typename Vector::item17, typename Vector::item18
  2006.             , typename Vector::item19, typename Vector::item20
  2007.             , typename Vector::item21, typename Vector::item22
  2008.             , typename Vector::item23, typename Vector::item24
  2009.             , typename Vector::item25, typename Vector::item26
  2010.             , typename Vector::item27, typename Vector::item28
  2011.             , typename Vector::item29, typename Vector::item30
  2012.             , typename Vector::item31, typename Vector::item32
  2013.             , typename Vector::item33, typename Vector::item34
  2014.             , typename Vector::item35, typename Vector::item36
  2015.             , typename Vector::item37, typename Vector::item38
  2016.             , typename Vector::item39, typename Vector::item40
  2017.             , typename Vector::item41, typename Vector::item42
  2018.             , typename Vector::item43, typename Vector::item44
  2019.             , typename Vector::item45, typename Vector::item46
  2020.             , typename Vector::item47, typename Vector::item48
  2021.             , typename Vector::item49
  2022.             > type;
  2023.     };
  2024. };
  2025.  
  2026. template<>
  2027. struct push_back_impl< aux::vector_tag<49> >
  2028. {
  2029.     template< typename Vector, typename T > struct apply
  2030.     {
  2031.         typedef vector50<
  2032.               typename Vector::item0, typename Vector::item1
  2033.             , typename Vector::item2, typename Vector::item3
  2034.             , typename Vector::item4, typename Vector::item5
  2035.             , typename Vector::item6, typename Vector::item7
  2036.             , typename Vector::item8, typename Vector::item9
  2037.             , typename Vector::item10, typename Vector::item11
  2038.             , typename Vector::item12, typename Vector::item13
  2039.             , typename Vector::item14, typename Vector::item15
  2040.             , typename Vector::item16, typename Vector::item17
  2041.             , typename Vector::item18, typename Vector::item19
  2042.             , typename Vector::item20, typename Vector::item21
  2043.             , typename Vector::item22, typename Vector::item23
  2044.             , typename Vector::item24, typename Vector::item25
  2045.             , typename Vector::item26, typename Vector::item27
  2046.             , typename Vector::item28, typename Vector::item29
  2047.             , typename Vector::item30, typename Vector::item31
  2048.             , typename Vector::item32, typename Vector::item33
  2049.             , typename Vector::item34, typename Vector::item35
  2050.             , typename Vector::item36, typename Vector::item37
  2051.             , typename Vector::item38, typename Vector::item39
  2052.             , typename Vector::item40, typename Vector::item41
  2053.             , typename Vector::item42, typename Vector::item43
  2054.             , typename Vector::item44, typename Vector::item45
  2055.             , typename Vector::item46, typename Vector::item47
  2056.             , typename Vector::item48
  2057.               ,
  2058.               T
  2059.             > type;
  2060.     };
  2061. };
  2062.  
  2063. template<>
  2064. struct pop_back_impl< aux::vector_tag<50> >
  2065. {
  2066.     template< typename Vector > struct apply
  2067.     {
  2068.         typedef vector49<
  2069.               typename Vector::item0, typename Vector::item1
  2070.             , typename Vector::item2, typename Vector::item3
  2071.             , typename Vector::item4, typename Vector::item5
  2072.             , typename Vector::item6, typename Vector::item7
  2073.             , typename Vector::item8, typename Vector::item9
  2074.             , typename Vector::item10, typename Vector::item11
  2075.             , typename Vector::item12, typename Vector::item13
  2076.             , typename Vector::item14, typename Vector::item15
  2077.             , typename Vector::item16, typename Vector::item17
  2078.             , typename Vector::item18, typename Vector::item19
  2079.             , typename Vector::item20, typename Vector::item21
  2080.             , typename Vector::item22, typename Vector::item23
  2081.             , typename Vector::item24, typename Vector::item25
  2082.             , typename Vector::item26, typename Vector::item27
  2083.             , typename Vector::item28, typename Vector::item29
  2084.             , typename Vector::item30, typename Vector::item31
  2085.             , typename Vector::item32, typename Vector::item33
  2086.             , typename Vector::item34, typename Vector::item35
  2087.             , typename Vector::item36, typename Vector::item37
  2088.             , typename Vector::item38, typename Vector::item39
  2089.             , typename Vector::item40, typename Vector::item41
  2090.             , typename Vector::item42, typename Vector::item43
  2091.             , typename Vector::item44, typename Vector::item45
  2092.             , typename Vector::item46, typename Vector::item47
  2093.             , typename Vector::item48
  2094.             > type;
  2095.     };
  2096. };
  2097.  
  2098. template< typename V >
  2099. struct v_at< V,50 >
  2100. {
  2101.     typedef typename V::item50 type;
  2102. };
  2103.  
  2104. }}
  2105.  
downloadvector50.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