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. namespace aux {
  203. template<> struct v_at_impl<41>
  204. {
  205.     template< typename V_ > struct result_
  206.     {
  207.         typedef typename V_::item41 type;
  208.     };
  209. };
  210.  
  211. }
  212.  
  213. template<>
  214. struct at_impl< aux::vector_tag<41> >
  215. {
  216.     template< typename V_, typename N > struct apply
  217.     {
  218.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  219.             ::template result_<V_>::type type;
  220.     };
  221. };
  222.  
  223. template<>
  224. struct front_impl< aux::vector_tag<41> >
  225. {
  226.     template< typename Vector > struct apply
  227.     {
  228.         typedef typename Vector::item0 type;
  229.     };
  230. };
  231.  
  232. template<>
  233. struct back_impl< aux::vector_tag<41> >
  234. {
  235.     template< typename Vector > struct apply
  236.     {
  237.         typedef typename Vector::back type;
  238.     };
  239. };
  240.  
  241. template<>
  242. struct empty_impl< aux::vector_tag<41> >
  243. {
  244.     template< typename Vector > struct apply
  245.         : false_
  246.     {
  247.     };
  248. };
  249.  
  250. template<>
  251. struct size_impl< aux::vector_tag<41> >
  252. {
  253.     template< typename Vector > struct apply
  254.         : long_<41>
  255.     {
  256.     };
  257. };
  258.  
  259. template<>
  260. struct O1_size_impl< aux::vector_tag<41> >
  261.     : size_impl< aux::vector_tag<41> >
  262. {
  263. };
  264.  
  265. template<>
  266. struct clear_impl< aux::vector_tag<41> >
  267. {
  268.     template< typename Vector > struct apply
  269.     {
  270.         typedef vector0<> type;
  271.     };
  272. };
  273.  
  274. template<
  275.       typename T0, typename T1, typename T2, typename T3, typename T4
  276.     , typename T5, typename T6, typename T7, typename T8, typename T9
  277.     , typename T10, typename T11, typename T12, typename T13, typename T14
  278.     , typename T15, typename T16, typename T17, typename T18, typename T19
  279.     , typename T20, typename T21, typename T22, typename T23, typename T24
  280.     , typename T25, typename T26, typename T27, typename T28, typename T29
  281.     , typename T30, typename T31, typename T32, typename T33, typename T34
  282.     , typename T35, typename T36, typename T37, typename T38, typename T39
  283.     , typename T40, typename T41
  284.     >
  285. struct vector42
  286. {
  287.     typedef aux::vector_tag<42> tag;
  288.     typedef vector42 type;
  289.     typedef T0 item0;
  290.     typedef T1 item1;
  291.     typedef T2 item2;
  292.     typedef T3 item3;
  293.     typedef T4 item4;
  294.     typedef T5 item5;
  295.     typedef T6 item6;
  296.     typedef T7 item7;
  297.     typedef T8 item8;
  298.     typedef T9 item9;
  299.     typedef T10 item10;
  300.     typedef T11 item11;
  301.     typedef T12 item12;
  302.     typedef T13 item13;
  303.     typedef T14 item14;
  304.     typedef T15 item15;
  305.     typedef T16 item16;
  306.     typedef T17 item17;
  307.     typedef T18 item18;
  308.     typedef T19 item19;
  309.     typedef T20 item20;
  310.     typedef T21 item21;
  311.     typedef T22 item22;
  312.     typedef T23 item23;
  313.     typedef T24 item24;
  314.     typedef T25 item25;
  315.     typedef T26 item26;
  316.     typedef T27 item27;
  317.     typedef T28 item28;
  318.     typedef T29 item29;
  319.     typedef T30 item30;
  320.     typedef T31 item31;
  321.     typedef T32 item32;
  322.     typedef T33 item33;
  323.     typedef T34 item34;
  324.     typedef T35 item35;
  325.     typedef T36 item36;
  326.     typedef T37 item37;
  327.     typedef T38 item38;
  328.     typedef T39 item39;
  329.     typedef T40 item40;
  330.     typedef T41 item41;
  331.    
  332.  
  333.     typedef void_ item42;
  334.     typedef T41 back;
  335.     typedef v_iter< type,0 > begin;
  336.     typedef v_iter< type,42 > end;
  337. };
  338.  
  339. template<>
  340. struct push_front_impl< aux::vector_tag<41> >
  341. {
  342.     template< typename Vector, typename T > struct apply
  343.     {
  344.         typedef vector42<
  345.               T
  346.               ,
  347.               typename Vector::item0, typename Vector::item1
  348.             , typename Vector::item2, typename Vector::item3
  349.             , typename Vector::item4, typename Vector::item5
  350.             , typename Vector::item6, typename Vector::item7
  351.             , typename Vector::item8, typename Vector::item9
  352.             , typename Vector::item10, typename Vector::item11
  353.             , typename Vector::item12, typename Vector::item13
  354.             , typename Vector::item14, typename Vector::item15
  355.             , typename Vector::item16, typename Vector::item17
  356.             , typename Vector::item18, typename Vector::item19
  357.             , typename Vector::item20, typename Vector::item21
  358.             , typename Vector::item22, typename Vector::item23
  359.             , typename Vector::item24, typename Vector::item25
  360.             , typename Vector::item26, typename Vector::item27
  361.             , typename Vector::item28, typename Vector::item29
  362.             , typename Vector::item30, typename Vector::item31
  363.             , typename Vector::item32, typename Vector::item33
  364.             , typename Vector::item34, typename Vector::item35
  365.             , typename Vector::item36, typename Vector::item37
  366.             , typename Vector::item38, typename Vector::item39
  367.             , typename Vector::item40
  368.             > type;
  369.     };
  370. };
  371.  
  372. template<>
  373. struct pop_front_impl< aux::vector_tag<42> >
  374. {
  375.     template< typename Vector > struct apply
  376.     {
  377.         typedef vector41<
  378.               typename Vector::item1, typename Vector::item2
  379.             , typename Vector::item3, typename Vector::item4
  380.             , typename Vector::item5, typename Vector::item6
  381.             , typename Vector::item7, typename Vector::item8
  382.             , typename Vector::item9, typename Vector::item10
  383.             , typename Vector::item11, typename Vector::item12
  384.             , typename Vector::item13, typename Vector::item14
  385.             , typename Vector::item15, typename Vector::item16
  386.             , typename Vector::item17, typename Vector::item18
  387.             , typename Vector::item19, typename Vector::item20
  388.             , typename Vector::item21, typename Vector::item22
  389.             , typename Vector::item23, typename Vector::item24
  390.             , typename Vector::item25, typename Vector::item26
  391.             , typename Vector::item27, typename Vector::item28
  392.             , typename Vector::item29, typename Vector::item30
  393.             , typename Vector::item31, typename Vector::item32
  394.             , typename Vector::item33, typename Vector::item34
  395.             , typename Vector::item35, typename Vector::item36
  396.             , typename Vector::item37, typename Vector::item38
  397.             , typename Vector::item39, typename Vector::item40
  398.             , typename Vector::item41
  399.             > type;
  400.     };
  401. };
  402.  
  403. template<>
  404. struct push_back_impl< aux::vector_tag<41> >
  405. {
  406.     template< typename Vector, typename T > struct apply
  407.     {
  408.         typedef vector42<
  409.               typename Vector::item0, typename Vector::item1
  410.             , typename Vector::item2, typename Vector::item3
  411.             , typename Vector::item4, typename Vector::item5
  412.             , typename Vector::item6, typename Vector::item7
  413.             , typename Vector::item8, typename Vector::item9
  414.             , typename Vector::item10, typename Vector::item11
  415.             , typename Vector::item12, typename Vector::item13
  416.             , typename Vector::item14, typename Vector::item15
  417.             , typename Vector::item16, typename Vector::item17
  418.             , typename Vector::item18, typename Vector::item19
  419.             , typename Vector::item20, typename Vector::item21
  420.             , typename Vector::item22, typename Vector::item23
  421.             , typename Vector::item24, typename Vector::item25
  422.             , typename Vector::item26, typename Vector::item27
  423.             , typename Vector::item28, typename Vector::item29
  424.             , typename Vector::item30, typename Vector::item31
  425.             , typename Vector::item32, typename Vector::item33
  426.             , typename Vector::item34, typename Vector::item35
  427.             , typename Vector::item36, typename Vector::item37
  428.             , typename Vector::item38, typename Vector::item39
  429.             , typename Vector::item40
  430.               ,
  431.               T
  432.             > type;
  433.     };
  434. };
  435.  
  436. template<>
  437. struct pop_back_impl< aux::vector_tag<42> >
  438. {
  439.     template< typename Vector > struct apply
  440.     {
  441.         typedef vector41<
  442.               typename Vector::item0, typename Vector::item1
  443.             , typename Vector::item2, typename Vector::item3
  444.             , typename Vector::item4, typename Vector::item5
  445.             , typename Vector::item6, typename Vector::item7
  446.             , typename Vector::item8, typename Vector::item9
  447.             , typename Vector::item10, typename Vector::item11
  448.             , typename Vector::item12, typename Vector::item13
  449.             , typename Vector::item14, typename Vector::item15
  450.             , typename Vector::item16, typename Vector::item17
  451.             , typename Vector::item18, typename Vector::item19
  452.             , typename Vector::item20, typename Vector::item21
  453.             , typename Vector::item22, typename Vector::item23
  454.             , typename Vector::item24, typename Vector::item25
  455.             , typename Vector::item26, typename Vector::item27
  456.             , typename Vector::item28, typename Vector::item29
  457.             , typename Vector::item30, typename Vector::item31
  458.             , typename Vector::item32, typename Vector::item33
  459.             , typename Vector::item34, typename Vector::item35
  460.             , typename Vector::item36, typename Vector::item37
  461.             , typename Vector::item38, typename Vector::item39
  462.             , typename Vector::item40
  463.             > type;
  464.     };
  465. };
  466.  
  467. namespace aux {
  468. template<> struct v_at_impl<42>
  469. {
  470.     template< typename V_ > struct result_
  471.     {
  472.         typedef typename V_::item42 type;
  473.     };
  474. };
  475.  
  476. }
  477.  
  478. template<>
  479. struct at_impl< aux::vector_tag<42> >
  480. {
  481.     template< typename V_, typename N > struct apply
  482.     {
  483.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  484.             ::template result_<V_>::type type;
  485.     };
  486. };
  487.  
  488. template<>
  489. struct front_impl< aux::vector_tag<42> >
  490. {
  491.     template< typename Vector > struct apply
  492.     {
  493.         typedef typename Vector::item0 type;
  494.     };
  495. };
  496.  
  497. template<>
  498. struct back_impl< aux::vector_tag<42> >
  499. {
  500.     template< typename Vector > struct apply
  501.     {
  502.         typedef typename Vector::back type;
  503.     };
  504. };
  505.  
  506. template<>
  507. struct empty_impl< aux::vector_tag<42> >
  508. {
  509.     template< typename Vector > struct apply
  510.         : false_
  511.     {
  512.     };
  513. };
  514.  
  515. template<>
  516. struct size_impl< aux::vector_tag<42> >
  517. {
  518.     template< typename Vector > struct apply
  519.         : long_<42>
  520.     {
  521.     };
  522. };
  523.  
  524. template<>
  525. struct O1_size_impl< aux::vector_tag<42> >
  526.     : size_impl< aux::vector_tag<42> >
  527. {
  528. };
  529.  
  530. template<>
  531. struct clear_impl< aux::vector_tag<42> >
  532. {
  533.     template< typename Vector > struct apply
  534.     {
  535.         typedef vector0<> type;
  536.     };
  537. };
  538.  
  539. template<
  540.       typename T0, typename T1, typename T2, typename T3, typename T4
  541.     , typename T5, typename T6, typename T7, typename T8, typename T9
  542.     , typename T10, typename T11, typename T12, typename T13, typename T14
  543.     , typename T15, typename T16, typename T17, typename T18, typename T19
  544.     , typename T20, typename T21, typename T22, typename T23, typename T24
  545.     , typename T25, typename T26, typename T27, typename T28, typename T29
  546.     , typename T30, typename T31, typename T32, typename T33, typename T34
  547.     , typename T35, typename T36, typename T37, typename T38, typename T39
  548.     , typename T40, typename T41, typename T42
  549.     >
  550. struct vector43
  551. {
  552.     typedef aux::vector_tag<43> tag;
  553.     typedef vector43 type;
  554.     typedef T0 item0;
  555.     typedef T1 item1;
  556.     typedef T2 item2;
  557.     typedef T3 item3;
  558.     typedef T4 item4;
  559.     typedef T5 item5;
  560.     typedef T6 item6;
  561.     typedef T7 item7;
  562.     typedef T8 item8;
  563.     typedef T9 item9;
  564.     typedef T10 item10;
  565.     typedef T11 item11;
  566.     typedef T12 item12;
  567.     typedef T13 item13;
  568.     typedef T14 item14;
  569.     typedef T15 item15;
  570.     typedef T16 item16;
  571.     typedef T17 item17;
  572.     typedef T18 item18;
  573.     typedef T19 item19;
  574.     typedef T20 item20;
  575.     typedef T21 item21;
  576.     typedef T22 item22;
  577.     typedef T23 item23;
  578.     typedef T24 item24;
  579.     typedef T25 item25;
  580.     typedef T26 item26;
  581.     typedef T27 item27;
  582.     typedef T28 item28;
  583.     typedef T29 item29;
  584.     typedef T30 item30;
  585.     typedef T31 item31;
  586.     typedef T32 item32;
  587.     typedef T33 item33;
  588.     typedef T34 item34;
  589.     typedef T35 item35;
  590.     typedef T36 item36;
  591.     typedef T37 item37;
  592.     typedef T38 item38;
  593.     typedef T39 item39;
  594.     typedef T40 item40;
  595.     typedef T41 item41;
  596.     typedef T42 item42;
  597.    
  598.  
  599.     typedef void_ item43;
  600.     typedef T42 back;
  601.     typedef v_iter< type,0 > begin;
  602.     typedef v_iter< type,43 > end;
  603. };
  604.  
  605. template<>
  606. struct push_front_impl< aux::vector_tag<42> >
  607. {
  608.     template< typename Vector, typename T > struct apply
  609.     {
  610.         typedef vector43<
  611.               T
  612.               ,
  613.               typename Vector::item0, typename Vector::item1
  614.             , typename Vector::item2, typename Vector::item3
  615.             , typename Vector::item4, typename Vector::item5
  616.             , typename Vector::item6, typename Vector::item7
  617.             , typename Vector::item8, typename Vector::item9
  618.             , typename Vector::item10, typename Vector::item11
  619.             , typename Vector::item12, typename Vector::item13
  620.             , typename Vector::item14, typename Vector::item15
  621.             , typename Vector::item16, typename Vector::item17
  622.             , typename Vector::item18, typename Vector::item19
  623.             , typename Vector::item20, typename Vector::item21
  624.             , typename Vector::item22, typename Vector::item23
  625.             , typename Vector::item24, typename Vector::item25
  626.             , typename Vector::item26, typename Vector::item27
  627.             , typename Vector::item28, typename Vector::item29
  628.             , typename Vector::item30, typename Vector::item31
  629.             , typename Vector::item32, typename Vector::item33
  630.             , typename Vector::item34, typename Vector::item35
  631.             , typename Vector::item36, typename Vector::item37
  632.             , typename Vector::item38, typename Vector::item39
  633.             , typename Vector::item40, typename Vector::item41
  634.             > type;
  635.     };
  636. };
  637.  
  638. template<>
  639. struct pop_front_impl< aux::vector_tag<43> >
  640. {
  641.     template< typename Vector > struct apply
  642.     {
  643.         typedef vector42<
  644.               typename Vector::item1, typename Vector::item2
  645.             , typename Vector::item3, typename Vector::item4
  646.             , typename Vector::item5, typename Vector::item6
  647.             , typename Vector::item7, typename Vector::item8
  648.             , typename Vector::item9, typename Vector::item10
  649.             , typename Vector::item11, typename Vector::item12
  650.             , typename Vector::item13, typename Vector::item14
  651.             , typename Vector::item15, typename Vector::item16
  652.             , typename Vector::item17, typename Vector::item18
  653.             , typename Vector::item19, typename Vector::item20
  654.             , typename Vector::item21, typename Vector::item22
  655.             , typename Vector::item23, typename Vector::item24
  656.             , typename Vector::item25, typename Vector::item26
  657.             , typename Vector::item27, typename Vector::item28
  658.             , typename Vector::item29, typename Vector::item30
  659.             , typename Vector::item31, typename Vector::item32
  660.             , typename Vector::item33, typename Vector::item34
  661.             , typename Vector::item35, typename Vector::item36
  662.             , typename Vector::item37, typename Vector::item38
  663.             , typename Vector::item39, typename Vector::item40
  664.             , typename Vector::item41, typename Vector::item42
  665.             > type;
  666.     };
  667. };
  668.  
  669. template<>
  670. struct push_back_impl< aux::vector_tag<42> >
  671. {
  672.     template< typename Vector, typename T > struct apply
  673.     {
  674.         typedef vector43<
  675.               typename Vector::item0, typename Vector::item1
  676.             , typename Vector::item2, typename Vector::item3
  677.             , typename Vector::item4, typename Vector::item5
  678.             , typename Vector::item6, typename Vector::item7
  679.             , typename Vector::item8, typename Vector::item9
  680.             , typename Vector::item10, typename Vector::item11
  681.             , typename Vector::item12, typename Vector::item13
  682.             , typename Vector::item14, typename Vector::item15
  683.             , typename Vector::item16, typename Vector::item17
  684.             , typename Vector::item18, typename Vector::item19
  685.             , typename Vector::item20, typename Vector::item21
  686.             , typename Vector::item22, typename Vector::item23
  687.             , typename Vector::item24, typename Vector::item25
  688.             , typename Vector::item26, typename Vector::item27
  689.             , typename Vector::item28, typename Vector::item29
  690.             , typename Vector::item30, typename Vector::item31
  691.             , typename Vector::item32, typename Vector::item33
  692.             , typename Vector::item34, typename Vector::item35
  693.             , typename Vector::item36, typename Vector::item37
  694.             , typename Vector::item38, typename Vector::item39
  695.             , typename Vector::item40, typename Vector::item41
  696.               ,
  697.               T
  698.             > type;
  699.     };
  700. };
  701.  
  702. template<>
  703. struct pop_back_impl< aux::vector_tag<43> >
  704. {
  705.     template< typename Vector > struct apply
  706.     {
  707.         typedef vector42<
  708.               typename Vector::item0, typename Vector::item1
  709.             , typename Vector::item2, typename Vector::item3
  710.             , typename Vector::item4, typename Vector::item5
  711.             , typename Vector::item6, typename Vector::item7
  712.             , typename Vector::item8, typename Vector::item9
  713.             , typename Vector::item10, typename Vector::item11
  714.             , typename Vector::item12, typename Vector::item13
  715.             , typename Vector::item14, typename Vector::item15
  716.             , typename Vector::item16, typename Vector::item17
  717.             , typename Vector::item18, typename Vector::item19
  718.             , typename Vector::item20, typename Vector::item21
  719.             , typename Vector::item22, typename Vector::item23
  720.             , typename Vector::item24, typename Vector::item25
  721.             , typename Vector::item26, typename Vector::item27
  722.             , typename Vector::item28, typename Vector::item29
  723.             , typename Vector::item30, typename Vector::item31
  724.             , typename Vector::item32, typename Vector::item33
  725.             , typename Vector::item34, typename Vector::item35
  726.             , typename Vector::item36, typename Vector::item37
  727.             , typename Vector::item38, typename Vector::item39
  728.             , typename Vector::item40, typename Vector::item41
  729.             > type;
  730.     };
  731. };
  732.  
  733. namespace aux {
  734. template<> struct v_at_impl<43>
  735. {
  736.     template< typename V_ > struct result_
  737.     {
  738.         typedef typename V_::item43 type;
  739.     };
  740. };
  741.  
  742. }
  743.  
  744. template<>
  745. struct at_impl< aux::vector_tag<43> >
  746. {
  747.     template< typename V_, typename N > struct apply
  748.     {
  749.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  750.             ::template result_<V_>::type type;
  751.     };
  752. };
  753.  
  754. template<>
  755. struct front_impl< aux::vector_tag<43> >
  756. {
  757.     template< typename Vector > struct apply
  758.     {
  759.         typedef typename Vector::item0 type;
  760.     };
  761. };
  762.  
  763. template<>
  764. struct back_impl< aux::vector_tag<43> >
  765. {
  766.     template< typename Vector > struct apply
  767.     {
  768.         typedef typename Vector::back type;
  769.     };
  770. };
  771.  
  772. template<>
  773. struct empty_impl< aux::vector_tag<43> >
  774. {
  775.     template< typename Vector > struct apply
  776.         : false_
  777.     {
  778.     };
  779. };
  780.  
  781. template<>
  782. struct size_impl< aux::vector_tag<43> >
  783. {
  784.     template< typename Vector > struct apply
  785.         : long_<43>
  786.     {
  787.     };
  788. };
  789.  
  790. template<>
  791. struct O1_size_impl< aux::vector_tag<43> >
  792.     : size_impl< aux::vector_tag<43> >
  793. {
  794. };
  795.  
  796. template<>
  797. struct clear_impl< aux::vector_tag<43> >
  798. {
  799.     template< typename Vector > struct apply
  800.     {
  801.         typedef vector0<> type;
  802.     };
  803. };
  804.  
  805. template<
  806.       typename T0, typename T1, typename T2, typename T3, typename T4
  807.     , typename T5, typename T6, typename T7, typename T8, typename T9
  808.     , typename T10, typename T11, typename T12, typename T13, typename T14
  809.     , typename T15, typename T16, typename T17, typename T18, typename T19
  810.     , typename T20, typename T21, typename T22, typename T23, typename T24
  811.     , typename T25, typename T26, typename T27, typename T28, typename T29
  812.     , typename T30, typename T31, typename T32, typename T33, typename T34
  813.     , typename T35, typename T36, typename T37, typename T38, typename T39
  814.     , typename T40, typename T41, typename T42, typename T43
  815.     >
  816. struct vector44
  817. {
  818.     typedef aux::vector_tag<44> tag;
  819.     typedef vector44 type;
  820.     typedef T0 item0;
  821.     typedef T1 item1;
  822.     typedef T2 item2;
  823.     typedef T3 item3;
  824.     typedef T4 item4;
  825.     typedef T5 item5;
  826.     typedef T6 item6;
  827.     typedef T7 item7;
  828.     typedef T8 item8;
  829.     typedef T9 item9;
  830.     typedef T10 item10;
  831.     typedef T11 item11;
  832.     typedef T12 item12;
  833.     typedef T13 item13;
  834.     typedef T14 item14;
  835.     typedef T15 item15;
  836.     typedef T16 item16;
  837.     typedef T17 item17;
  838.     typedef T18 item18;
  839.     typedef T19 item19;
  840.     typedef T20 item20;
  841.     typedef T21 item21;
  842.     typedef T22 item22;
  843.     typedef T23 item23;
  844.     typedef T24 item24;
  845.     typedef T25 item25;
  846.     typedef T26 item26;
  847.     typedef T27 item27;
  848.     typedef T28 item28;
  849.     typedef T29 item29;
  850.     typedef T30 item30;
  851.     typedef T31 item31;
  852.     typedef T32 item32;
  853.     typedef T33 item33;
  854.     typedef T34 item34;
  855.     typedef T35 item35;
  856.     typedef T36 item36;
  857.     typedef T37 item37;
  858.     typedef T38 item38;
  859.     typedef T39 item39;
  860.     typedef T40 item40;
  861.     typedef T41 item41;
  862.     typedef T42 item42;
  863.     typedef T43 item43;
  864.    
  865.  
  866.     typedef void_ item44;
  867.     typedef T43 back;
  868.     typedef v_iter< type,0 > begin;
  869.     typedef v_iter< type,44 > end;
  870. };
  871.  
  872. template<>
  873. struct push_front_impl< aux::vector_tag<43> >
  874. {
  875.     template< typename Vector, typename T > struct apply
  876.     {
  877.         typedef vector44<
  878.               T
  879.               ,
  880.               typename Vector::item0, typename Vector::item1
  881.             , typename Vector::item2, typename Vector::item3
  882.             , typename Vector::item4, typename Vector::item5
  883.             , typename Vector::item6, typename Vector::item7
  884.             , typename Vector::item8, typename Vector::item9
  885.             , typename Vector::item10, typename Vector::item11
  886.             , typename Vector::item12, typename Vector::item13
  887.             , typename Vector::item14, typename Vector::item15
  888.             , typename Vector::item16, typename Vector::item17
  889.             , typename Vector::item18, typename Vector::item19
  890.             , typename Vector::item20, typename Vector::item21
  891.             , typename Vector::item22, typename Vector::item23
  892.             , typename Vector::item24, typename Vector::item25
  893.             , typename Vector::item26, typename Vector::item27
  894.             , typename Vector::item28, typename Vector::item29
  895.             , typename Vector::item30, typename Vector::item31
  896.             , typename Vector::item32, typename Vector::item33
  897.             , typename Vector::item34, typename Vector::item35
  898.             , typename Vector::item36, typename Vector::item37
  899.             , typename Vector::item38, typename Vector::item39
  900.             , typename Vector::item40, typename Vector::item41
  901.             , typename Vector::item42
  902.             > type;
  903.     };
  904. };
  905.  
  906. template<>
  907. struct pop_front_impl< aux::vector_tag<44> >
  908. {
  909.     template< typename Vector > struct apply
  910.     {
  911.         typedef vector43<
  912.               typename Vector::item1, typename Vector::item2
  913.             , typename Vector::item3, typename Vector::item4
  914.             , typename Vector::item5, typename Vector::item6
  915.             , typename Vector::item7, typename Vector::item8
  916.             , typename Vector::item9, typename Vector::item10
  917.             , typename Vector::item11, typename Vector::item12
  918.             , typename Vector::item13, typename Vector::item14
  919.             , typename Vector::item15, typename Vector::item16
  920.             , typename Vector::item17, typename Vector::item18
  921.             , typename Vector::item19, typename Vector::item20
  922.             , typename Vector::item21, typename Vector::item22
  923.             , typename Vector::item23, typename Vector::item24
  924.             , typename Vector::item25, typename Vector::item26
  925.             , typename Vector::item27, typename Vector::item28
  926.             , typename Vector::item29, typename Vector::item30
  927.             , typename Vector::item31, typename Vector::item32
  928.             , typename Vector::item33, typename Vector::item34
  929.             , typename Vector::item35, typename Vector::item36
  930.             , typename Vector::item37, typename Vector::item38
  931.             , typename Vector::item39, typename Vector::item40
  932.             , typename Vector::item41, typename Vector::item42
  933.             , typename Vector::item43
  934.             > type;
  935.     };
  936. };
  937.  
  938. template<>
  939. struct push_back_impl< aux::vector_tag<43> >
  940. {
  941.     template< typename Vector, typename T > struct apply
  942.     {
  943.         typedef vector44<
  944.               typename Vector::item0, typename Vector::item1
  945.             , typename Vector::item2, typename Vector::item3
  946.             , typename Vector::item4, typename Vector::item5
  947.             , typename Vector::item6, typename Vector::item7
  948.             , typename Vector::item8, typename Vector::item9
  949.             , typename Vector::item10, typename Vector::item11
  950.             , typename Vector::item12, typename Vector::item13
  951.             , typename Vector::item14, typename Vector::item15
  952.             , typename Vector::item16, typename Vector::item17
  953.             , typename Vector::item18, typename Vector::item19
  954.             , typename Vector::item20, typename Vector::item21
  955.             , typename Vector::item22, typename Vector::item23
  956.             , typename Vector::item24, typename Vector::item25
  957.             , typename Vector::item26, typename Vector::item27
  958.             , typename Vector::item28, typename Vector::item29
  959.             , typename Vector::item30, typename Vector::item31
  960.             , typename Vector::item32, typename Vector::item33
  961.             , typename Vector::item34, typename Vector::item35
  962.             , typename Vector::item36, typename Vector::item37
  963.             , typename Vector::item38, typename Vector::item39
  964.             , typename Vector::item40, typename Vector::item41
  965.             , typename Vector::item42
  966.               ,
  967.               T
  968.             > type;
  969.     };
  970. };
  971.  
  972. template<>
  973. struct pop_back_impl< aux::vector_tag<44> >
  974. {
  975.     template< typename Vector > struct apply
  976.     {
  977.         typedef vector43<
  978.               typename Vector::item0, typename Vector::item1
  979.             , typename Vector::item2, typename Vector::item3
  980.             , typename Vector::item4, typename Vector::item5
  981.             , typename Vector::item6, typename Vector::item7
  982.             , typename Vector::item8, typename Vector::item9
  983.             , typename Vector::item10, typename Vector::item11
  984.             , typename Vector::item12, typename Vector::item13
  985.             , typename Vector::item14, typename Vector::item15
  986.             , typename Vector::item16, typename Vector::item17
  987.             , typename Vector::item18, typename Vector::item19
  988.             , typename Vector::item20, typename Vector::item21
  989.             , typename Vector::item22, typename Vector::item23
  990.             , typename Vector::item24, typename Vector::item25
  991.             , typename Vector::item26, typename Vector::item27
  992.             , typename Vector::item28, typename Vector::item29
  993.             , typename Vector::item30, typename Vector::item31
  994.             , typename Vector::item32, typename Vector::item33
  995.             , typename Vector::item34, typename Vector::item35
  996.             , typename Vector::item36, typename Vector::item37
  997.             , typename Vector::item38, typename Vector::item39
  998.             , typename Vector::item40, typename Vector::item41
  999.             , typename Vector::item42
  1000.             > type;
  1001.     };
  1002. };
  1003.  
  1004. namespace aux {
  1005. template<> struct v_at_impl<44>
  1006. {
  1007.     template< typename V_ > struct result_
  1008.     {
  1009.         typedef typename V_::item44 type;
  1010.     };
  1011. };
  1012.  
  1013. }
  1014.  
  1015. template<>
  1016. struct at_impl< aux::vector_tag<44> >
  1017. {
  1018.     template< typename V_, typename N > struct apply
  1019.     {
  1020.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1021.             ::template result_<V_>::type type;
  1022.     };
  1023. };
  1024.  
  1025. template<>
  1026. struct front_impl< aux::vector_tag<44> >
  1027. {
  1028.     template< typename Vector > struct apply
  1029.     {
  1030.         typedef typename Vector::item0 type;
  1031.     };
  1032. };
  1033.  
  1034. template<>
  1035. struct back_impl< aux::vector_tag<44> >
  1036. {
  1037.     template< typename Vector > struct apply
  1038.     {
  1039.         typedef typename Vector::back type;
  1040.     };
  1041. };
  1042.  
  1043. template<>
  1044. struct empty_impl< aux::vector_tag<44> >
  1045. {
  1046.     template< typename Vector > struct apply
  1047.         : false_
  1048.     {
  1049.     };
  1050. };
  1051.  
  1052. template<>
  1053. struct size_impl< aux::vector_tag<44> >
  1054. {
  1055.     template< typename Vector > struct apply
  1056.         : long_<44>
  1057.     {
  1058.     };
  1059. };
  1060.  
  1061. template<>
  1062. struct O1_size_impl< aux::vector_tag<44> >
  1063.     : size_impl< aux::vector_tag<44> >
  1064. {
  1065. };
  1066.  
  1067. template<>
  1068. struct clear_impl< aux::vector_tag<44> >
  1069. {
  1070.     template< typename Vector > struct apply
  1071.     {
  1072.         typedef vector0<> type;
  1073.     };
  1074. };
  1075.  
  1076. template<
  1077.       typename T0, typename T1, typename T2, typename T3, typename T4
  1078.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1079.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1080.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1081.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1082.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1083.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1084.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1085.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1086.     >
  1087. struct vector45
  1088. {
  1089.     typedef aux::vector_tag<45> tag;
  1090.     typedef vector45 type;
  1091.     typedef T0 item0;
  1092.     typedef T1 item1;
  1093.     typedef T2 item2;
  1094.     typedef T3 item3;
  1095.     typedef T4 item4;
  1096.     typedef T5 item5;
  1097.     typedef T6 item6;
  1098.     typedef T7 item7;
  1099.     typedef T8 item8;
  1100.     typedef T9 item9;
  1101.     typedef T10 item10;
  1102.     typedef T11 item11;
  1103.     typedef T12 item12;
  1104.     typedef T13 item13;
  1105.     typedef T14 item14;
  1106.     typedef T15 item15;
  1107.     typedef T16 item16;
  1108.     typedef T17 item17;
  1109.     typedef T18 item18;
  1110.     typedef T19 item19;
  1111.     typedef T20 item20;
  1112.     typedef T21 item21;
  1113.     typedef T22 item22;
  1114.     typedef T23 item23;
  1115.     typedef T24 item24;
  1116.     typedef T25 item25;
  1117.     typedef T26 item26;
  1118.     typedef T27 item27;
  1119.     typedef T28 item28;
  1120.     typedef T29 item29;
  1121.     typedef T30 item30;
  1122.     typedef T31 item31;
  1123.     typedef T32 item32;
  1124.     typedef T33 item33;
  1125.     typedef T34 item34;
  1126.     typedef T35 item35;
  1127.     typedef T36 item36;
  1128.     typedef T37 item37;
  1129.     typedef T38 item38;
  1130.     typedef T39 item39;
  1131.     typedef T40 item40;
  1132.     typedef T41 item41;
  1133.     typedef T42 item42;
  1134.     typedef T43 item43;
  1135.     typedef T44 item44;
  1136.    
  1137.  
  1138.     typedef void_ item45;
  1139.     typedef T44 back;
  1140.     typedef v_iter< type,0 > begin;
  1141.     typedef v_iter< type,45 > end;
  1142. };
  1143.  
  1144. template<>
  1145. struct push_front_impl< aux::vector_tag<44> >
  1146. {
  1147.     template< typename Vector, typename T > struct apply
  1148.     {
  1149.         typedef vector45<
  1150.               T
  1151.               ,
  1152.               typename Vector::item0, typename Vector::item1
  1153.             , typename Vector::item2, typename Vector::item3
  1154.             , typename Vector::item4, typename Vector::item5
  1155.             , typename Vector::item6, typename Vector::item7
  1156.             , typename Vector::item8, typename Vector::item9
  1157.             , typename Vector::item10, typename Vector::item11
  1158.             , typename Vector::item12, typename Vector::item13
  1159.             , typename Vector::item14, typename Vector::item15
  1160.             , typename Vector::item16, typename Vector::item17
  1161.             , typename Vector::item18, typename Vector::item19
  1162.             , typename Vector::item20, typename Vector::item21
  1163.             , typename Vector::item22, typename Vector::item23
  1164.             , typename Vector::item24, typename Vector::item25
  1165.             , typename Vector::item26, typename Vector::item27
  1166.             , typename Vector::item28, typename Vector::item29
  1167.             , typename Vector::item30, typename Vector::item31
  1168.             , typename Vector::item32, typename Vector::item33
  1169.             , typename Vector::item34, typename Vector::item35
  1170.             , typename Vector::item36, typename Vector::item37
  1171.             , typename Vector::item38, typename Vector::item39
  1172.             , typename Vector::item40, typename Vector::item41
  1173.             , typename Vector::item42, typename Vector::item43
  1174.             > type;
  1175.     };
  1176. };
  1177.  
  1178. template<>
  1179. struct pop_front_impl< aux::vector_tag<45> >
  1180. {
  1181.     template< typename Vector > struct apply
  1182.     {
  1183.         typedef vector44<
  1184.               typename Vector::item1, typename Vector::item2
  1185.             , typename Vector::item3, typename Vector::item4
  1186.             , typename Vector::item5, typename Vector::item6
  1187.             , typename Vector::item7, typename Vector::item8
  1188.             , typename Vector::item9, typename Vector::item10
  1189.             , typename Vector::item11, typename Vector::item12
  1190.             , typename Vector::item13, typename Vector::item14
  1191.             , typename Vector::item15, typename Vector::item16
  1192.             , typename Vector::item17, typename Vector::item18
  1193.             , typename Vector::item19, typename Vector::item20
  1194.             , typename Vector::item21, typename Vector::item22
  1195.             , typename Vector::item23, typename Vector::item24
  1196.             , typename Vector::item25, typename Vector::item26
  1197.             , typename Vector::item27, typename Vector::item28
  1198.             , typename Vector::item29, typename Vector::item30
  1199.             , typename Vector::item31, typename Vector::item32
  1200.             , typename Vector::item33, typename Vector::item34
  1201.             , typename Vector::item35, typename Vector::item36
  1202.             , typename Vector::item37, typename Vector::item38
  1203.             , typename Vector::item39, typename Vector::item40
  1204.             , typename Vector::item41, typename Vector::item42
  1205.             , typename Vector::item43, typename Vector::item44
  1206.             > type;
  1207.     };
  1208. };
  1209.  
  1210. template<>
  1211. struct push_back_impl< aux::vector_tag<44> >
  1212. {
  1213.     template< typename Vector, typename T > struct apply
  1214.     {
  1215.         typedef vector45<
  1216.               typename Vector::item0, typename Vector::item1
  1217.             , typename Vector::item2, typename Vector::item3
  1218.             , typename Vector::item4, typename Vector::item5
  1219.             , typename Vector::item6, typename Vector::item7
  1220.             , typename Vector::item8, typename Vector::item9
  1221.             , typename Vector::item10, typename Vector::item11
  1222.             , typename Vector::item12, typename Vector::item13
  1223.             , typename Vector::item14, typename Vector::item15
  1224.             , typename Vector::item16, typename Vector::item17
  1225.             , typename Vector::item18, typename Vector::item19
  1226.             , typename Vector::item20, typename Vector::item21
  1227.             , typename Vector::item22, typename Vector::item23
  1228.             , typename Vector::item24, typename Vector::item25
  1229.             , typename Vector::item26, typename Vector::item27
  1230.             , typename Vector::item28, typename Vector::item29
  1231.             , typename Vector::item30, typename Vector::item31
  1232.             , typename Vector::item32, typename Vector::item33
  1233.             , typename Vector::item34, typename Vector::item35
  1234.             , typename Vector::item36, typename Vector::item37
  1235.             , typename Vector::item38, typename Vector::item39
  1236.             , typename Vector::item40, typename Vector::item41
  1237.             , typename Vector::item42, typename Vector::item43
  1238.               ,
  1239.               T
  1240.             > type;
  1241.     };
  1242. };
  1243.  
  1244. template<>
  1245. struct pop_back_impl< aux::vector_tag<45> >
  1246. {
  1247.     template< typename Vector > struct apply
  1248.     {
  1249.         typedef vector44<
  1250.               typename Vector::item0, typename Vector::item1
  1251.             , typename Vector::item2, typename Vector::item3
  1252.             , typename Vector::item4, typename Vector::item5
  1253.             , typename Vector::item6, typename Vector::item7
  1254.             , typename Vector::item8, typename Vector::item9
  1255.             , typename Vector::item10, typename Vector::item11
  1256.             , typename Vector::item12, typename Vector::item13
  1257.             , typename Vector::item14, typename Vector::item15
  1258.             , typename Vector::item16, typename Vector::item17
  1259.             , typename Vector::item18, typename Vector::item19
  1260.             , typename Vector::item20, typename Vector::item21
  1261.             , typename Vector::item22, typename Vector::item23
  1262.             , typename Vector::item24, typename Vector::item25
  1263.             , typename Vector::item26, typename Vector::item27
  1264.             , typename Vector::item28, typename Vector::item29
  1265.             , typename Vector::item30, typename Vector::item31
  1266.             , typename Vector::item32, typename Vector::item33
  1267.             , typename Vector::item34, typename Vector::item35
  1268.             , typename Vector::item36, typename Vector::item37
  1269.             , typename Vector::item38, typename Vector::item39
  1270.             , typename Vector::item40, typename Vector::item41
  1271.             , typename Vector::item42, typename Vector::item43
  1272.             > type;
  1273.     };
  1274. };
  1275.  
  1276. namespace aux {
  1277. template<> struct v_at_impl<45>
  1278. {
  1279.     template< typename V_ > struct result_
  1280.     {
  1281.         typedef typename V_::item45 type;
  1282.     };
  1283. };
  1284.  
  1285. }
  1286.  
  1287. template<>
  1288. struct at_impl< aux::vector_tag<45> >
  1289. {
  1290.     template< typename V_, typename N > struct apply
  1291.     {
  1292.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1293.             ::template result_<V_>::type type;
  1294.     };
  1295. };
  1296.  
  1297. template<>
  1298. struct front_impl< aux::vector_tag<45> >
  1299. {
  1300.     template< typename Vector > struct apply
  1301.     {
  1302.         typedef typename Vector::item0 type;
  1303.     };
  1304. };
  1305.  
  1306. template<>
  1307. struct back_impl< aux::vector_tag<45> >
  1308. {
  1309.     template< typename Vector > struct apply
  1310.     {
  1311.         typedef typename Vector::back type;
  1312.     };
  1313. };
  1314.  
  1315. template<>
  1316. struct empty_impl< aux::vector_tag<45> >
  1317. {
  1318.     template< typename Vector > struct apply
  1319.         : false_
  1320.     {
  1321.     };
  1322. };
  1323.  
  1324. template<>
  1325. struct size_impl< aux::vector_tag<45> >
  1326. {
  1327.     template< typename Vector > struct apply
  1328.         : long_<45>
  1329.     {
  1330.     };
  1331. };
  1332.  
  1333. template<>
  1334. struct O1_size_impl< aux::vector_tag<45> >
  1335.     : size_impl< aux::vector_tag<45> >
  1336. {
  1337. };
  1338.  
  1339. template<>
  1340. struct clear_impl< aux::vector_tag<45> >
  1341. {
  1342.     template< typename Vector > struct apply
  1343.     {
  1344.         typedef vector0<> type;
  1345.     };
  1346. };
  1347.  
  1348. template<
  1349.       typename T0, typename T1, typename T2, typename T3, typename T4
  1350.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1351.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1352.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1353.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1354.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1355.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1356.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1357.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1358.     , typename T45
  1359.     >
  1360. struct vector46
  1361. {
  1362.     typedef aux::vector_tag<46> tag;
  1363.     typedef vector46 type;
  1364.     typedef T0 item0;
  1365.     typedef T1 item1;
  1366.     typedef T2 item2;
  1367.     typedef T3 item3;
  1368.     typedef T4 item4;
  1369.     typedef T5 item5;
  1370.     typedef T6 item6;
  1371.     typedef T7 item7;
  1372.     typedef T8 item8;
  1373.     typedef T9 item9;
  1374.     typedef T10 item10;
  1375.     typedef T11 item11;
  1376.     typedef T12 item12;
  1377.     typedef T13 item13;
  1378.     typedef T14 item14;
  1379.     typedef T15 item15;
  1380.     typedef T16 item16;
  1381.     typedef T17 item17;
  1382.     typedef T18 item18;
  1383.     typedef T19 item19;
  1384.     typedef T20 item20;
  1385.     typedef T21 item21;
  1386.     typedef T22 item22;
  1387.     typedef T23 item23;
  1388.     typedef T24 item24;
  1389.     typedef T25 item25;
  1390.     typedef T26 item26;
  1391.     typedef T27 item27;
  1392.     typedef T28 item28;
  1393.     typedef T29 item29;
  1394.     typedef T30 item30;
  1395.     typedef T31 item31;
  1396.     typedef T32 item32;
  1397.     typedef T33 item33;
  1398.     typedef T34 item34;
  1399.     typedef T35 item35;
  1400.     typedef T36 item36;
  1401.     typedef T37 item37;
  1402.     typedef T38 item38;
  1403.     typedef T39 item39;
  1404.     typedef T40 item40;
  1405.     typedef T41 item41;
  1406.     typedef T42 item42;
  1407.     typedef T43 item43;
  1408.     typedef T44 item44;
  1409.     typedef T45 item45;
  1410.    
  1411.  
  1412.     typedef void_ item46;
  1413.     typedef T45 back;
  1414.     typedef v_iter< type,0 > begin;
  1415.     typedef v_iter< type,46 > end;
  1416. };
  1417.  
  1418. template<>
  1419. struct push_front_impl< aux::vector_tag<45> >
  1420. {
  1421.     template< typename Vector, typename T > struct apply
  1422.     {
  1423.         typedef vector46<
  1424.               T
  1425.               ,
  1426.               typename Vector::item0, typename Vector::item1
  1427.             , typename Vector::item2, typename Vector::item3
  1428.             , typename Vector::item4, typename Vector::item5
  1429.             , typename Vector::item6, typename Vector::item7
  1430.             , typename Vector::item8, typename Vector::item9
  1431.             , typename Vector::item10, typename Vector::item11
  1432.             , typename Vector::item12, typename Vector::item13
  1433.             , typename Vector::item14, typename Vector::item15
  1434.             , typename Vector::item16, typename Vector::item17
  1435.             , typename Vector::item18, typename Vector::item19
  1436.             , typename Vector::item20, typename Vector::item21
  1437.             , typename Vector::item22, typename Vector::item23
  1438.             , typename Vector::item24, typename Vector::item25
  1439.             , typename Vector::item26, typename Vector::item27
  1440.             , typename Vector::item28, typename Vector::item29
  1441.             , typename Vector::item30, typename Vector::item31
  1442.             , typename Vector::item32, typename Vector::item33
  1443.             , typename Vector::item34, typename Vector::item35
  1444.             , typename Vector::item36, typename Vector::item37
  1445.             , typename Vector::item38, typename Vector::item39
  1446.             , typename Vector::item40, typename Vector::item41
  1447.             , typename Vector::item42, typename Vector::item43
  1448.             , typename Vector::item44
  1449.             > type;
  1450.     };
  1451. };
  1452.  
  1453. template<>
  1454. struct pop_front_impl< aux::vector_tag<46> >
  1455. {
  1456.     template< typename Vector > struct apply
  1457.     {
  1458.         typedef vector45<
  1459.               typename Vector::item1, typename Vector::item2
  1460.             , typename Vector::item3, typename Vector::item4
  1461.             , typename Vector::item5, typename Vector::item6
  1462.             , typename Vector::item7, typename Vector::item8
  1463.             , typename Vector::item9, typename Vector::item10
  1464.             , typename Vector::item11, typename Vector::item12
  1465.             , typename Vector::item13, typename Vector::item14
  1466.             , typename Vector::item15, typename Vector::item16
  1467.             , typename Vector::item17, typename Vector::item18
  1468.             , typename Vector::item19, typename Vector::item20
  1469.             , typename Vector::item21, typename Vector::item22
  1470.             , typename Vector::item23, typename Vector::item24
  1471.             , typename Vector::item25, typename Vector::item26
  1472.             , typename Vector::item27, typename Vector::item28
  1473.             , typename Vector::item29, typename Vector::item30
  1474.             , typename Vector::item31, typename Vector::item32
  1475.             , typename Vector::item33, typename Vector::item34
  1476.             , typename Vector::item35, typename Vector::item36
  1477.             , typename Vector::item37, typename Vector::item38
  1478.             , typename Vector::item39, typename Vector::item40
  1479.             , typename Vector::item41, typename Vector::item42
  1480.             , typename Vector::item43, typename Vector::item44
  1481.             , typename Vector::item45
  1482.             > type;
  1483.     };
  1484. };
  1485.  
  1486. template<>
  1487. struct push_back_impl< aux::vector_tag<45> >
  1488. {
  1489.     template< typename Vector, typename T > struct apply
  1490.     {
  1491.         typedef vector46<
  1492.               typename Vector::item0, typename Vector::item1
  1493.             , typename Vector::item2, typename Vector::item3
  1494.             , typename Vector::item4, typename Vector::item5
  1495.             , typename Vector::item6, typename Vector::item7
  1496.             , typename Vector::item8, typename Vector::item9
  1497.             , typename Vector::item10, typename Vector::item11
  1498.             , typename Vector::item12, typename Vector::item13
  1499.             , typename Vector::item14, typename Vector::item15
  1500.             , typename Vector::item16, typename Vector::item17
  1501.             , typename Vector::item18, typename Vector::item19
  1502.             , typename Vector::item20, typename Vector::item21
  1503.             , typename Vector::item22, typename Vector::item23
  1504.             , typename Vector::item24, typename Vector::item25
  1505.             , typename Vector::item26, typename Vector::item27
  1506.             , typename Vector::item28, typename Vector::item29
  1507.             , typename Vector::item30, typename Vector::item31
  1508.             , typename Vector::item32, typename Vector::item33
  1509.             , typename Vector::item34, typename Vector::item35
  1510.             , typename Vector::item36, typename Vector::item37
  1511.             , typename Vector::item38, typename Vector::item39
  1512.             , typename Vector::item40, typename Vector::item41
  1513.             , typename Vector::item42, typename Vector::item43
  1514.             , typename Vector::item44
  1515.               ,
  1516.               T
  1517.             > type;
  1518.     };
  1519. };
  1520.  
  1521. template<>
  1522. struct pop_back_impl< aux::vector_tag<46> >
  1523. {
  1524.     template< typename Vector > struct apply
  1525.     {
  1526.         typedef vector45<
  1527.               typename Vector::item0, typename Vector::item1
  1528.             , typename Vector::item2, typename Vector::item3
  1529.             , typename Vector::item4, typename Vector::item5
  1530.             , typename Vector::item6, typename Vector::item7
  1531.             , typename Vector::item8, typename Vector::item9
  1532.             , typename Vector::item10, typename Vector::item11
  1533.             , typename Vector::item12, typename Vector::item13
  1534.             , typename Vector::item14, typename Vector::item15
  1535.             , typename Vector::item16, typename Vector::item17
  1536.             , typename Vector::item18, typename Vector::item19
  1537.             , typename Vector::item20, typename Vector::item21
  1538.             , typename Vector::item22, typename Vector::item23
  1539.             , typename Vector::item24, typename Vector::item25
  1540.             , typename Vector::item26, typename Vector::item27
  1541.             , typename Vector::item28, typename Vector::item29
  1542.             , typename Vector::item30, typename Vector::item31
  1543.             , typename Vector::item32, typename Vector::item33
  1544.             , typename Vector::item34, typename Vector::item35
  1545.             , typename Vector::item36, typename Vector::item37
  1546.             , typename Vector::item38, typename Vector::item39
  1547.             , typename Vector::item40, typename Vector::item41
  1548.             , typename Vector::item42, typename Vector::item43
  1549.             , typename Vector::item44
  1550.             > type;
  1551.     };
  1552. };
  1553.  
  1554. namespace aux {
  1555. template<> struct v_at_impl<46>
  1556. {
  1557.     template< typename V_ > struct result_
  1558.     {
  1559.         typedef typename V_::item46 type;
  1560.     };
  1561. };
  1562.  
  1563. }
  1564.  
  1565. template<>
  1566. struct at_impl< aux::vector_tag<46> >
  1567. {
  1568.     template< typename V_, typename N > struct apply
  1569.     {
  1570.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1571.             ::template result_<V_>::type type;
  1572.     };
  1573. };
  1574.  
  1575. template<>
  1576. struct front_impl< aux::vector_tag<46> >
  1577. {
  1578.     template< typename Vector > struct apply
  1579.     {
  1580.         typedef typename Vector::item0 type;
  1581.     };
  1582. };
  1583.  
  1584. template<>
  1585. struct back_impl< aux::vector_tag<46> >
  1586. {
  1587.     template< typename Vector > struct apply
  1588.     {
  1589.         typedef typename Vector::back type;
  1590.     };
  1591. };
  1592.  
  1593. template<>
  1594. struct empty_impl< aux::vector_tag<46> >
  1595. {
  1596.     template< typename Vector > struct apply
  1597.         : false_
  1598.     {
  1599.     };
  1600. };
  1601.  
  1602. template<>
  1603. struct size_impl< aux::vector_tag<46> >
  1604. {
  1605.     template< typename Vector > struct apply
  1606.         : long_<46>
  1607.     {
  1608.     };
  1609. };
  1610.  
  1611. template<>
  1612. struct O1_size_impl< aux::vector_tag<46> >
  1613.     : size_impl< aux::vector_tag<46> >
  1614. {
  1615. };
  1616.  
  1617. template<>
  1618. struct clear_impl< aux::vector_tag<46> >
  1619. {
  1620.     template< typename Vector > struct apply
  1621.     {
  1622.         typedef vector0<> type;
  1623.     };
  1624. };
  1625.  
  1626. template<
  1627.       typename T0, typename T1, typename T2, typename T3, typename T4
  1628.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1629.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1630.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1631.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1632.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1633.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1634.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1635.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1636.     , typename T45, typename T46
  1637.     >
  1638. struct vector47
  1639. {
  1640.     typedef aux::vector_tag<47> tag;
  1641.     typedef vector47 type;
  1642.     typedef T0 item0;
  1643.     typedef T1 item1;
  1644.     typedef T2 item2;
  1645.     typedef T3 item3;
  1646.     typedef T4 item4;
  1647.     typedef T5 item5;
  1648.     typedef T6 item6;
  1649.     typedef T7 item7;
  1650.     typedef T8 item8;
  1651.     typedef T9 item9;
  1652.     typedef T10 item10;
  1653.     typedef T11 item11;
  1654.     typedef T12 item12;
  1655.     typedef T13 item13;
  1656.     typedef T14 item14;
  1657.     typedef T15 item15;
  1658.     typedef T16 item16;
  1659.     typedef T17 item17;
  1660.     typedef T18 item18;
  1661.     typedef T19 item19;
  1662.     typedef T20 item20;
  1663.     typedef T21 item21;
  1664.     typedef T22 item22;
  1665.     typedef T23 item23;
  1666.     typedef T24 item24;
  1667.     typedef T25 item25;
  1668.     typedef T26 item26;
  1669.     typedef T27 item27;
  1670.     typedef T28 item28;
  1671.     typedef T29 item29;
  1672.     typedef T30 item30;
  1673.     typedef T31 item31;
  1674.     typedef T32 item32;
  1675.     typedef T33 item33;
  1676.     typedef T34 item34;
  1677.     typedef T35 item35;
  1678.     typedef T36 item36;
  1679.     typedef T37 item37;
  1680.     typedef T38 item38;
  1681.     typedef T39 item39;
  1682.     typedef T40 item40;
  1683.     typedef T41 item41;
  1684.     typedef T42 item42;
  1685.     typedef T43 item43;
  1686.     typedef T44 item44;
  1687.     typedef T45 item45;
  1688.     typedef T46 item46;
  1689.    
  1690.  
  1691.     typedef void_ item47;
  1692.     typedef T46 back;
  1693.     typedef v_iter< type,0 > begin;
  1694.     typedef v_iter< type,47 > end;
  1695. };
  1696.  
  1697. template<>
  1698. struct push_front_impl< aux::vector_tag<46> >
  1699. {
  1700.     template< typename Vector, typename T > struct apply
  1701.     {
  1702.         typedef vector47<
  1703.               T
  1704.               ,
  1705.               typename Vector::item0, typename Vector::item1
  1706.             , typename Vector::item2, typename Vector::item3
  1707.             , typename Vector::item4, typename Vector::item5
  1708.             , typename Vector::item6, typename Vector::item7
  1709.             , typename Vector::item8, typename Vector::item9
  1710.             , typename Vector::item10, typename Vector::item11
  1711.             , typename Vector::item12, typename Vector::item13
  1712.             , typename Vector::item14, typename Vector::item15
  1713.             , typename Vector::item16, typename Vector::item17
  1714.             , typename Vector::item18, typename Vector::item19
  1715.             , typename Vector::item20, typename Vector::item21
  1716.             , typename Vector::item22, typename Vector::item23
  1717.             , typename Vector::item24, typename Vector::item25
  1718.             , typename Vector::item26, typename Vector::item27
  1719.             , typename Vector::item28, typename Vector::item29
  1720.             , typename Vector::item30, typename Vector::item31
  1721.             , typename Vector::item32, typename Vector::item33
  1722.             , typename Vector::item34, typename Vector::item35
  1723.             , typename Vector::item36, typename Vector::item37
  1724.             , typename Vector::item38, typename Vector::item39
  1725.             , typename Vector::item40, typename Vector::item41
  1726.             , typename Vector::item42, typename Vector::item43
  1727.             , typename Vector::item44, typename Vector::item45
  1728.             > type;
  1729.     };
  1730. };
  1731.  
  1732. template<>
  1733. struct pop_front_impl< aux::vector_tag<47> >
  1734. {
  1735.     template< typename Vector > struct apply
  1736.     {
  1737.         typedef vector46<
  1738.               typename Vector::item1, typename Vector::item2
  1739.             , typename Vector::item3, typename Vector::item4
  1740.             , typename Vector::item5, typename Vector::item6
  1741.             , typename Vector::item7, typename Vector::item8
  1742.             , typename Vector::item9, typename Vector::item10
  1743.             , typename Vector::item11, typename Vector::item12
  1744.             , typename Vector::item13, typename Vector::item14
  1745.             , typename Vector::item15, typename Vector::item16
  1746.             , typename Vector::item17, typename Vector::item18
  1747.             , typename Vector::item19, typename Vector::item20
  1748.             , typename Vector::item21, typename Vector::item22
  1749.             , typename Vector::item23, typename Vector::item24
  1750.             , typename Vector::item25, typename Vector::item26
  1751.             , typename Vector::item27, typename Vector::item28
  1752.             , typename Vector::item29, typename Vector::item30
  1753.             , typename Vector::item31, typename Vector::item32
  1754.             , typename Vector::item33, typename Vector::item34
  1755.             , typename Vector::item35, typename Vector::item36
  1756.             , typename Vector::item37, typename Vector::item38
  1757.             , typename Vector::item39, typename Vector::item40
  1758.             , typename Vector::item41, typename Vector::item42
  1759.             , typename Vector::item43, typename Vector::item44
  1760.             , typename Vector::item45, typename Vector::item46
  1761.             > type;
  1762.     };
  1763. };
  1764.  
  1765. template<>
  1766. struct push_back_impl< aux::vector_tag<46> >
  1767. {
  1768.     template< typename Vector, typename T > struct apply
  1769.     {
  1770.         typedef vector47<
  1771.               typename Vector::item0, typename Vector::item1
  1772.             , typename Vector::item2, typename Vector::item3
  1773.             , typename Vector::item4, typename Vector::item5
  1774.             , typename Vector::item6, typename Vector::item7
  1775.             , typename Vector::item8, typename Vector::item9
  1776.             , typename Vector::item10, typename Vector::item11
  1777.             , typename Vector::item12, typename Vector::item13
  1778.             , typename Vector::item14, typename Vector::item15
  1779.             , typename Vector::item16, typename Vector::item17
  1780.             , typename Vector::item18, typename Vector::item19
  1781.             , typename Vector::item20, typename Vector::item21
  1782.             , typename Vector::item22, typename Vector::item23
  1783.             , typename Vector::item24, typename Vector::item25
  1784.             , typename Vector::item26, typename Vector::item27
  1785.             , typename Vector::item28, typename Vector::item29
  1786.             , typename Vector::item30, typename Vector::item31
  1787.             , typename Vector::item32, typename Vector::item33
  1788.             , typename Vector::item34, typename Vector::item35
  1789.             , typename Vector::item36, typename Vector::item37
  1790.             , typename Vector::item38, typename Vector::item39
  1791.             , typename Vector::item40, typename Vector::item41
  1792.             , typename Vector::item42, typename Vector::item43
  1793.             , typename Vector::item44, typename Vector::item45
  1794.               ,
  1795.               T
  1796.             > type;
  1797.     };
  1798. };
  1799.  
  1800. template<>
  1801. struct pop_back_impl< aux::vector_tag<47> >
  1802. {
  1803.     template< typename Vector > struct apply
  1804.     {
  1805.         typedef vector46<
  1806.               typename Vector::item0, typename Vector::item1
  1807.             , typename Vector::item2, typename Vector::item3
  1808.             , typename Vector::item4, typename Vector::item5
  1809.             , typename Vector::item6, typename Vector::item7
  1810.             , typename Vector::item8, typename Vector::item9
  1811.             , typename Vector::item10, typename Vector::item11
  1812.             , typename Vector::item12, typename Vector::item13
  1813.             , typename Vector::item14, typename Vector::item15
  1814.             , typename Vector::item16, typename Vector::item17
  1815.             , typename Vector::item18, typename Vector::item19
  1816.             , typename Vector::item20, typename Vector::item21
  1817.             , typename Vector::item22, typename Vector::item23
  1818.             , typename Vector::item24, typename Vector::item25
  1819.             , typename Vector::item26, typename Vector::item27
  1820.             , typename Vector::item28, typename Vector::item29
  1821.             , typename Vector::item30, typename Vector::item31
  1822.             , typename Vector::item32, typename Vector::item33
  1823.             , typename Vector::item34, typename Vector::item35
  1824.             , typename Vector::item36, typename Vector::item37
  1825.             , typename Vector::item38, typename Vector::item39
  1826.             , typename Vector::item40, typename Vector::item41
  1827.             , typename Vector::item42, typename Vector::item43
  1828.             , typename Vector::item44, typename Vector::item45
  1829.             > type;
  1830.     };
  1831. };
  1832.  
  1833. namespace aux {
  1834. template<> struct v_at_impl<47>
  1835. {
  1836.     template< typename V_ > struct result_
  1837.     {
  1838.         typedef typename V_::item47 type;
  1839.     };
  1840. };
  1841.  
  1842. }
  1843.  
  1844. template<>
  1845. struct at_impl< aux::vector_tag<47> >
  1846. {
  1847.     template< typename V_, typename N > struct apply
  1848.     {
  1849.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1850.             ::template result_<V_>::type type;
  1851.     };
  1852. };
  1853.  
  1854. template<>
  1855. struct front_impl< aux::vector_tag<47> >
  1856. {
  1857.     template< typename Vector > struct apply
  1858.     {
  1859.         typedef typename Vector::item0 type;
  1860.     };
  1861. };
  1862.  
  1863. template<>
  1864. struct back_impl< aux::vector_tag<47> >
  1865. {
  1866.     template< typename Vector > struct apply
  1867.     {
  1868.         typedef typename Vector::back type;
  1869.     };
  1870. };
  1871.  
  1872. template<>
  1873. struct empty_impl< aux::vector_tag<47> >
  1874. {
  1875.     template< typename Vector > struct apply
  1876.         : false_
  1877.     {
  1878.     };
  1879. };
  1880.  
  1881. template<>
  1882. struct size_impl< aux::vector_tag<47> >
  1883. {
  1884.     template< typename Vector > struct apply
  1885.         : long_<47>
  1886.     {
  1887.     };
  1888. };
  1889.  
  1890. template<>
  1891. struct O1_size_impl< aux::vector_tag<47> >
  1892.     : size_impl< aux::vector_tag<47> >
  1893. {
  1894. };
  1895.  
  1896. template<>
  1897. struct clear_impl< aux::vector_tag<47> >
  1898. {
  1899.     template< typename Vector > struct apply
  1900.     {
  1901.         typedef vector0<> type;
  1902.     };
  1903. };
  1904.  
  1905. template<
  1906.       typename T0, typename T1, typename T2, typename T3, typename T4
  1907.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1908.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1909.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1910.     , typename T20, typename T21, typename T22, typename T23, typename T24
  1911.     , typename T25, typename T26, typename T27, typename T28, typename T29
  1912.     , typename T30, typename T31, typename T32, typename T33, typename T34
  1913.     , typename T35, typename T36, typename T37, typename T38, typename T39
  1914.     , typename T40, typename T41, typename T42, typename T43, typename T44
  1915.     , typename T45, typename T46, typename T47
  1916.     >
  1917. struct vector48
  1918. {
  1919.     typedef aux::vector_tag<48> tag;
  1920.     typedef vector48 type;
  1921.     typedef T0 item0;
  1922.     typedef T1 item1;
  1923.     typedef T2 item2;
  1924.     typedef T3 item3;
  1925.     typedef T4 item4;
  1926.     typedef T5 item5;
  1927.     typedef T6 item6;
  1928.     typedef T7 item7;
  1929.     typedef T8 item8;
  1930.     typedef T9 item9;
  1931.     typedef T10 item10;
  1932.     typedef T11 item11;
  1933.     typedef T12 item12;
  1934.     typedef T13 item13;
  1935.     typedef T14 item14;
  1936.     typedef T15 item15;
  1937.     typedef T16 item16;
  1938.     typedef T17 item17;
  1939.     typedef T18 item18;
  1940.     typedef T19 item19;
  1941.     typedef T20 item20;
  1942.     typedef T21 item21;
  1943.     typedef T22 item22;
  1944.     typedef T23 item23;
  1945.     typedef T24 item24;
  1946.     typedef T25 item25;
  1947.     typedef T26 item26;
  1948.     typedef T27 item27;
  1949.     typedef T28 item28;
  1950.     typedef T29 item29;
  1951.     typedef T30 item30;
  1952.     typedef T31 item31;
  1953.     typedef T32 item32;
  1954.     typedef T33 item33;
  1955.     typedef T34 item34;
  1956.     typedef T35 item35;
  1957.     typedef T36 item36;
  1958.     typedef T37 item37;
  1959.     typedef T38 item38;
  1960.     typedef T39 item39;
  1961.     typedef T40 item40;
  1962.     typedef T41 item41;
  1963.     typedef T42 item42;
  1964.     typedef T43 item43;
  1965.     typedef T44 item44;
  1966.     typedef T45 item45;
  1967.     typedef T46 item46;
  1968.     typedef T47 item47;
  1969.    
  1970.  
  1971.     typedef void_ item48;
  1972.     typedef T47 back;
  1973.     typedef v_iter< type,0 > begin;
  1974.     typedef v_iter< type,48 > end;
  1975. };
  1976.  
  1977. template<>
  1978. struct push_front_impl< aux::vector_tag<47> >
  1979. {
  1980.     template< typename Vector, typename T > struct apply
  1981.     {
  1982.         typedef vector48<
  1983.               T
  1984.               ,
  1985.               typename Vector::item0, typename Vector::item1
  1986.             , typename Vector::item2, typename Vector::item3
  1987.             , typename Vector::item4, typename Vector::item5
  1988.             , typename Vector::item6, typename Vector::item7
  1989.             , typename Vector::item8, typename Vector::item9
  1990.             , typename Vector::item10, typename Vector::item11
  1991.             , typename Vector::item12, typename Vector::item13
  1992.             , typename Vector::item14, typename Vector::item15
  1993.             , typename Vector::item16, typename Vector::item17
  1994.             , typename Vector::item18, typename Vector::item19
  1995.             , typename Vector::item20, typename Vector::item21
  1996.             , typename Vector::item22, typename Vector::item23
  1997.             , typename Vector::item24, typename Vector::item25
  1998.             , typename Vector::item26, typename Vector::item27
  1999.             , typename Vector::item28, typename Vector::item29
  2000.             , typename Vector::item30, typename Vector::item31
  2001.             , typename Vector::item32, typename Vector::item33
  2002.             , typename Vector::item34, typename Vector::item35
  2003.             , typename Vector::item36, typename Vector::item37
  2004.             , typename Vector::item38, typename Vector::item39
  2005.             , typename Vector::item40, typename Vector::item41
  2006.             , typename Vector::item42, typename Vector::item43
  2007.             , typename Vector::item44, typename Vector::item45
  2008.             , typename Vector::item46
  2009.             > type;
  2010.     };
  2011. };
  2012.  
  2013. template<>
  2014. struct pop_front_impl< aux::vector_tag<48> >
  2015. {
  2016.     template< typename Vector > struct apply
  2017.     {
  2018.         typedef vector47<
  2019.               typename Vector::item1, typename Vector::item2
  2020.             , typename Vector::item3, typename Vector::item4
  2021.             , typename Vector::item5, typename Vector::item6
  2022.             , typename Vector::item7, typename Vector::item8
  2023.             , typename Vector::item9, typename Vector::item10
  2024.             , typename Vector::item11, typename Vector::item12
  2025.             , typename Vector::item13, typename Vector::item14
  2026.             , typename Vector::item15, typename Vector::item16
  2027.             , typename Vector::item17, typename Vector::item18
  2028.             , typename Vector::item19, typename Vector::item20
  2029.             , typename Vector::item21, typename Vector::item22
  2030.             , typename Vector::item23, typename Vector::item24
  2031.             , typename Vector::item25, typename Vector::item26
  2032.             , typename Vector::item27, typename Vector::item28
  2033.             , typename Vector::item29, typename Vector::item30
  2034.             , typename Vector::item31, typename Vector::item32
  2035.             , typename Vector::item33, typename Vector::item34
  2036.             , typename Vector::item35, typename Vector::item36
  2037.             , typename Vector::item37, typename Vector::item38
  2038.             , typename Vector::item39, typename Vector::item40
  2039.             , typename Vector::item41, typename Vector::item42
  2040.             , typename Vector::item43, typename Vector::item44
  2041.             , typename Vector::item45, typename Vector::item46
  2042.             , typename Vector::item47
  2043.             > type;
  2044.     };
  2045. };
  2046.  
  2047. template<>
  2048. struct push_back_impl< aux::vector_tag<47> >
  2049. {
  2050.     template< typename Vector, typename T > struct apply
  2051.     {
  2052.         typedef vector48<
  2053.               typename Vector::item0, typename Vector::item1
  2054.             , typename Vector::item2, typename Vector::item3
  2055.             , typename Vector::item4, typename Vector::item5
  2056.             , typename Vector::item6, typename Vector::item7
  2057.             , typename Vector::item8, typename Vector::item9
  2058.             , typename Vector::item10, typename Vector::item11
  2059.             , typename Vector::item12, typename Vector::item13
  2060.             , typename Vector::item14, typename Vector::item15
  2061.             , typename Vector::item16, typename Vector::item17
  2062.             , typename Vector::item18, typename Vector::item19
  2063.             , typename Vector::item20, typename Vector::item21
  2064.             , typename Vector::item22, typename Vector::item23
  2065.             , typename Vector::item24, typename Vector::item25
  2066.             , typename Vector::item26, typename Vector::item27
  2067.             , typename Vector::item28, typename Vector::item29
  2068.             , typename Vector::item30, typename Vector::item31
  2069.             , typename Vector::item32, typename Vector::item33
  2070.             , typename Vector::item34, typename Vector::item35
  2071.             , typename Vector::item36, typename Vector::item37
  2072.             , typename Vector::item38, typename Vector::item39
  2073.             , typename Vector::item40, typename Vector::item41
  2074.             , typename Vector::item42, typename Vector::item43
  2075.             , typename Vector::item44, typename Vector::item45
  2076.             , typename Vector::item46
  2077.               ,
  2078.               T
  2079.             > type;
  2080.     };
  2081. };
  2082.  
  2083. template<>
  2084. struct pop_back_impl< aux::vector_tag<48> >
  2085. {
  2086.     template< typename Vector > struct apply
  2087.     {
  2088.         typedef vector47<
  2089.               typename Vector::item0, typename Vector::item1
  2090.             , typename Vector::item2, typename Vector::item3
  2091.             , typename Vector::item4, typename Vector::item5
  2092.             , typename Vector::item6, typename Vector::item7
  2093.             , typename Vector::item8, typename Vector::item9
  2094.             , typename Vector::item10, typename Vector::item11
  2095.             , typename Vector::item12, typename Vector::item13
  2096.             , typename Vector::item14, typename Vector::item15
  2097.             , typename Vector::item16, typename Vector::item17
  2098.             , typename Vector::item18, typename Vector::item19
  2099.             , typename Vector::item20, typename Vector::item21
  2100.             , typename Vector::item22, typename Vector::item23
  2101.             , typename Vector::item24, typename Vector::item25
  2102.             , typename Vector::item26, typename Vector::item27
  2103.             , typename Vector::item28, typename Vector::item29
  2104.             , typename Vector::item30, typename Vector::item31
  2105.             , typename Vector::item32, typename Vector::item33
  2106.             , typename Vector::item34, typename Vector::item35
  2107.             , typename Vector::item36, typename Vector::item37
  2108.             , typename Vector::item38, typename Vector::item39
  2109.             , typename Vector::item40, typename Vector::item41
  2110.             , typename Vector::item42, typename Vector::item43
  2111.             , typename Vector::item44, typename Vector::item45
  2112.             , typename Vector::item46
  2113.             > type;
  2114.     };
  2115. };
  2116.  
  2117. namespace aux {
  2118. template<> struct v_at_impl<48>
  2119. {
  2120.     template< typename V_ > struct result_
  2121.     {
  2122.         typedef typename V_::item48 type;
  2123.     };
  2124. };
  2125.  
  2126. }
  2127.  
  2128. template<>
  2129. struct at_impl< aux::vector_tag<48> >
  2130. {
  2131.     template< typename V_, typename N > struct apply
  2132.     {
  2133.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  2134.             ::template result_<V_>::type type;
  2135.     };
  2136. };
  2137.  
  2138. template<>
  2139. struct front_impl< aux::vector_tag<48> >
  2140. {
  2141.     template< typename Vector > struct apply
  2142.     {
  2143.         typedef typename Vector::item0 type;
  2144.     };
  2145. };
  2146.  
  2147. template<>
  2148. struct back_impl< aux::vector_tag<48> >
  2149. {
  2150.     template< typename Vector > struct apply
  2151.     {
  2152.         typedef typename Vector::back type;
  2153.     };
  2154. };
  2155.  
  2156. template<>
  2157. struct empty_impl< aux::vector_tag<48> >
  2158. {
  2159.     template< typename Vector > struct apply
  2160.         : false_
  2161.     {
  2162.     };
  2163. };
  2164.  
  2165. template<>
  2166. struct size_impl< aux::vector_tag<48> >
  2167. {
  2168.     template< typename Vector > struct apply
  2169.         : long_<48>
  2170.     {
  2171.     };
  2172. };
  2173.  
  2174. template<>
  2175. struct O1_size_impl< aux::vector_tag<48> >
  2176.     : size_impl< aux::vector_tag<48> >
  2177. {
  2178. };
  2179.  
  2180. template<>
  2181. struct clear_impl< aux::vector_tag<48> >
  2182. {
  2183.     template< typename Vector > struct apply
  2184.     {
  2185.         typedef vector0<> type;
  2186.     };
  2187. };
  2188.  
  2189. template<
  2190.       typename T0, typename T1, typename T2, typename T3, typename T4
  2191.     , typename T5, typename T6, typename T7, typename T8, typename T9
  2192.     , typename T10, typename T11, typename T12, typename T13, typename T14
  2193.     , typename T15, typename T16, typename T17, typename T18, typename T19
  2194.     , typename T20, typename T21, typename T22, typename T23, typename T24
  2195.     , typename T25, typename T26, typename T27, typename T28, typename T29
  2196.     , typename T30, typename T31, typename T32, typename T33, typename T34
  2197.     , typename T35, typename T36, typename T37, typename T38, typename T39
  2198.     , typename T40, typename T41, typename T42, typename T43, typename T44
  2199.     , typename T45, typename T46, typename T47, typename T48
  2200.     >
  2201. struct vector49
  2202. {
  2203.     typedef aux::vector_tag<49> tag;
  2204.     typedef vector49 type;
  2205.     typedef T0 item0;
  2206.     typedef T1 item1;
  2207.     typedef T2 item2;
  2208.     typedef T3 item3;
  2209.     typedef T4 item4;
  2210.     typedef T5 item5;
  2211.     typedef T6 item6;
  2212.     typedef T7 item7;
  2213.     typedef T8 item8;
  2214.     typedef T9 item9;
  2215.     typedef T10 item10;
  2216.     typedef T11 item11;
  2217.     typedef T12 item12;
  2218.     typedef T13 item13;
  2219.     typedef T14 item14;
  2220.     typedef T15 item15;
  2221.     typedef T16 item16;
  2222.     typedef T17 item17;
  2223.     typedef T18 item18;
  2224.     typedef T19 item19;
  2225.     typedef T20 item20;
  2226.     typedef T21 item21;
  2227.     typedef T22 item22;
  2228.     typedef T23 item23;
  2229.     typedef T24 item24;
  2230.     typedef T25 item25;
  2231.     typedef T26 item26;
  2232.     typedef T27 item27;
  2233.     typedef T28 item28;
  2234.     typedef T29 item29;
  2235.     typedef T30 item30;
  2236.     typedef T31 item31;
  2237.     typedef T32 item32;
  2238.     typedef T33 item33;
  2239.     typedef T34 item34;
  2240.     typedef T35 item35;
  2241.     typedef T36 item36;
  2242.     typedef T37 item37;
  2243.     typedef T38 item38;
  2244.     typedef T39 item39;
  2245.     typedef T40 item40;
  2246.     typedef T41 item41;
  2247.     typedef T42 item42;
  2248.     typedef T43 item43;
  2249.     typedef T44 item44;
  2250.     typedef T45 item45;
  2251.     typedef T46 item46;
  2252.     typedef T47 item47;
  2253.     typedef T48 item48;
  2254.    
  2255.  
  2256.     typedef void_ item49;
  2257.     typedef T48 back;
  2258.     typedef v_iter< type,0 > begin;
  2259.     typedef v_iter< type,49 > end;
  2260. };
  2261.  
  2262. template<>
  2263. struct push_front_impl< aux::vector_tag<48> >
  2264. {
  2265.     template< typename Vector, typename T > struct apply
  2266.     {
  2267.         typedef vector49<
  2268.               T
  2269.               ,
  2270.               typename Vector::item0, typename Vector::item1
  2271.             , typename Vector::item2, typename Vector::item3
  2272.             , typename Vector::item4, typename Vector::item5
  2273.             , typename Vector::item6, typename Vector::item7
  2274.             , typename Vector::item8, typename Vector::item9
  2275.             , typename Vector::item10, typename Vector::item11
  2276.             , typename Vector::item12, typename Vector::item13
  2277.             , typename Vector::item14, typename Vector::item15
  2278.             , typename Vector::item16, typename Vector::item17
  2279.             , typename Vector::item18, typename Vector::item19
  2280.             , typename Vector::item20, typename Vector::item21
  2281.             , typename Vector::item22, typename Vector::item23
  2282.             , typename Vector::item24, typename Vector::item25
  2283.             , typename Vector::item26, typename Vector::item27
  2284.             , typename Vector::item28, typename Vector::item29
  2285.             , typename Vector::item30, typename Vector::item31
  2286.             , typename Vector::item32, typename Vector::item33
  2287.             , typename Vector::item34, typename Vector::item35
  2288.             , typename Vector::item36, typename Vector::item37
  2289.             , typename Vector::item38, typename Vector::item39
  2290.             , typename Vector::item40, typename Vector::item41
  2291.             , typename Vector::item42, typename Vector::item43
  2292.             , typename Vector::item44, typename Vector::item45
  2293.             , typename Vector::item46, typename Vector::item47
  2294.             > type;
  2295.     };
  2296. };
  2297.  
  2298. template<>
  2299. struct pop_front_impl< aux::vector_tag<49> >
  2300. {
  2301.     template< typename Vector > struct apply
  2302.     {
  2303.         typedef vector48<
  2304.               typename Vector::item1, typename Vector::item2
  2305.             , typename Vector::item3, typename Vector::item4
  2306.             , typename Vector::item5, typename Vector::item6
  2307.             , typename Vector::item7, typename Vector::item8
  2308.             , typename Vector::item9, typename Vector::item10
  2309.             , typename Vector::item11, typename Vector::item12
  2310.             , typename Vector::item13, typename Vector::item14
  2311.             , typename Vector::item15, typename Vector::item16
  2312.             , typename Vector::item17, typename Vector::item18
  2313.             , typename Vector::item19, typename Vector::item20
  2314.             , typename Vector::item21, typename Vector::item22
  2315.             , typename Vector::item23, typename Vector::item24
  2316.             , typename Vector::item25, typename Vector::item26
  2317.             , typename Vector::item27, typename Vector::item28
  2318.             , typename Vector::item29, typename Vector::item30
  2319.             , typename Vector::item31, typename Vector::item32
  2320.             , typename Vector::item33, typename Vector::item34
  2321.             , typename Vector::item35, typename Vector::item36
  2322.             , typename Vector::item37, typename Vector::item38
  2323.             , typename Vector::item39, typename Vector::item40
  2324.             , typename Vector::item41, typename Vector::item42
  2325.             , typename Vector::item43, typename Vector::item44
  2326.             , typename Vector::item45, typename Vector::item46
  2327.             , typename Vector::item47, typename Vector::item48
  2328.             > type;
  2329.     };
  2330. };
  2331.  
  2332. template<>
  2333. struct push_back_impl< aux::vector_tag<48> >
  2334. {
  2335.     template< typename Vector, typename T > struct apply
  2336.     {
  2337.         typedef vector49<
  2338.               typename Vector::item0, typename Vector::item1
  2339.             , typename Vector::item2, typename Vector::item3
  2340.             , typename Vector::item4, typename Vector::item5
  2341.             , typename Vector::item6, typename Vector::item7
  2342.             , typename Vector::item8, typename Vector::item9
  2343.             , typename Vector::item10, typename Vector::item11
  2344.             , typename Vector::item12, typename Vector::item13
  2345.             , typename Vector::item14, typename Vector::item15
  2346.             , typename Vector::item16, typename Vector::item17
  2347.             , typename Vector::item18, typename Vector::item19
  2348.             , typename Vector::item20, typename Vector::item21
  2349.             , typename Vector::item22, typename Vector::item23
  2350.             , typename Vector::item24, typename Vector::item25
  2351.             , typename Vector::item26, typename Vector::item27
  2352.             , typename Vector::item28, typename Vector::item29
  2353.             , typename Vector::item30, typename Vector::item31
  2354.             , typename Vector::item32, typename Vector::item33
  2355.             , typename Vector::item34, typename Vector::item35
  2356.             , typename Vector::item36, typename Vector::item37
  2357.             , typename Vector::item38, typename Vector::item39
  2358.             , typename Vector::item40, typename Vector::item41
  2359.             , typename Vector::item42, typename Vector::item43
  2360.             , typename Vector::item44, typename Vector::item45
  2361.             , typename Vector::item46, typename Vector::item47
  2362.               ,
  2363.               T
  2364.             > type;
  2365.     };
  2366. };
  2367.  
  2368. template<>
  2369. struct pop_back_impl< aux::vector_tag<49> >
  2370. {
  2371.     template< typename Vector > struct apply
  2372.     {
  2373.         typedef vector48<
  2374.               typename Vector::item0, typename Vector::item1
  2375.             , typename Vector::item2, typename Vector::item3
  2376.             , typename Vector::item4, typename Vector::item5
  2377.             , typename Vector::item6, typename Vector::item7
  2378.             , typename Vector::item8, typename Vector::item9
  2379.             , typename Vector::item10, typename Vector::item11
  2380.             , typename Vector::item12, typename Vector::item13
  2381.             , typename Vector::item14, typename Vector::item15
  2382.             , typename Vector::item16, typename Vector::item17
  2383.             , typename Vector::item18, typename Vector::item19
  2384.             , typename Vector::item20, typename Vector::item21
  2385.             , typename Vector::item22, typename Vector::item23
  2386.             , typename Vector::item24, typename Vector::item25
  2387.             , typename Vector::item26, typename Vector::item27
  2388.             , typename Vector::item28, typename Vector::item29
  2389.             , typename Vector::item30, typename Vector::item31
  2390.             , typename Vector::item32, typename Vector::item33
  2391.             , typename Vector::item34, typename Vector::item35
  2392.             , typename Vector::item36, typename Vector::item37
  2393.             , typename Vector::item38, typename Vector::item39
  2394.             , typename Vector::item40, typename Vector::item41
  2395.             , typename Vector::item42, typename Vector::item43
  2396.             , typename Vector::item44, typename Vector::item45
  2397.             , typename Vector::item46, typename Vector::item47
  2398.             > type;
  2399.     };
  2400. };
  2401.  
  2402. namespace aux {
  2403. template<> struct v_at_impl<49>
  2404. {
  2405.     template< typename V_ > struct result_
  2406.     {
  2407.         typedef typename V_::item49 type;
  2408.     };
  2409. };
  2410.  
  2411. }
  2412.  
  2413. template<>
  2414. struct at_impl< aux::vector_tag<49> >
  2415. {
  2416.     template< typename V_, typename N > struct apply
  2417.     {
  2418.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  2419.             ::template result_<V_>::type type;
  2420.     };
  2421. };
  2422.  
  2423. template<>
  2424. struct front_impl< aux::vector_tag<49> >
  2425. {
  2426.     template< typename Vector > struct apply
  2427.     {
  2428.         typedef typename Vector::item0 type;
  2429.     };
  2430. };
  2431.  
  2432. template<>
  2433. struct back_impl< aux::vector_tag<49> >
  2434. {
  2435.     template< typename Vector > struct apply
  2436.     {
  2437.         typedef typename Vector::back type;
  2438.     };
  2439. };
  2440.  
  2441. template<>
  2442. struct empty_impl< aux::vector_tag<49> >
  2443. {
  2444.     template< typename Vector > struct apply
  2445.         : false_
  2446.     {
  2447.     };
  2448. };
  2449.  
  2450. template<>
  2451. struct size_impl< aux::vector_tag<49> >
  2452. {
  2453.     template< typename Vector > struct apply
  2454.         : long_<49>
  2455.     {
  2456.     };
  2457. };
  2458.  
  2459. template<>
  2460. struct O1_size_impl< aux::vector_tag<49> >
  2461.     : size_impl< aux::vector_tag<49> >
  2462. {
  2463. };
  2464.  
  2465. template<>
  2466. struct clear_impl< aux::vector_tag<49> >
  2467. {
  2468.     template< typename Vector > struct apply
  2469.     {
  2470.         typedef vector0<> type;
  2471.     };
  2472. };
  2473.  
  2474. template<
  2475.       typename T0, typename T1, typename T2, typename T3, typename T4
  2476.     , typename T5, typename T6, typename T7, typename T8, typename T9
  2477.     , typename T10, typename T11, typename T12, typename T13, typename T14
  2478.     , typename T15, typename T16, typename T17, typename T18, typename T19
  2479.     , typename T20, typename T21, typename T22, typename T23, typename T24
  2480.     , typename T25, typename T26, typename T27, typename T28, typename T29
  2481.     , typename T30, typename T31, typename T32, typename T33, typename T34
  2482.     , typename T35, typename T36, typename T37, typename T38, typename T39
  2483.     , typename T40, typename T41, typename T42, typename T43, typename T44
  2484.     , typename T45, typename T46, typename T47, typename T48, typename T49
  2485.     >
  2486. struct vector50
  2487. {
  2488.     typedef aux::vector_tag<50> tag;
  2489.     typedef vector50 type;
  2490.     typedef T0 item0;
  2491.     typedef T1 item1;
  2492.     typedef T2 item2;
  2493.     typedef T3 item3;
  2494.     typedef T4 item4;
  2495.     typedef T5 item5;
  2496.     typedef T6 item6;
  2497.     typedef T7 item7;
  2498.     typedef T8 item8;
  2499.     typedef T9 item9;
  2500.     typedef T10 item10;
  2501.     typedef T11 item11;
  2502.     typedef T12 item12;
  2503.     typedef T13 item13;
  2504.     typedef T14 item14;
  2505.     typedef T15 item15;
  2506.     typedef T16 item16;
  2507.     typedef T17 item17;
  2508.     typedef T18 item18;
  2509.     typedef T19 item19;
  2510.     typedef T20 item20;
  2511.     typedef T21 item21;
  2512.     typedef T22 item22;
  2513.     typedef T23 item23;
  2514.     typedef T24 item24;
  2515.     typedef T25 item25;
  2516.     typedef T26 item26;
  2517.     typedef T27 item27;
  2518.     typedef T28 item28;
  2519.     typedef T29 item29;
  2520.     typedef T30 item30;
  2521.     typedef T31 item31;
  2522.     typedef T32 item32;
  2523.     typedef T33 item33;
  2524.     typedef T34 item34;
  2525.     typedef T35 item35;
  2526.     typedef T36 item36;
  2527.     typedef T37 item37;
  2528.     typedef T38 item38;
  2529.     typedef T39 item39;
  2530.     typedef T40 item40;
  2531.     typedef T41 item41;
  2532.     typedef T42 item42;
  2533.     typedef T43 item43;
  2534.     typedef T44 item44;
  2535.     typedef T45 item45;
  2536.     typedef T46 item46;
  2537.     typedef T47 item47;
  2538.     typedef T48 item48;
  2539.     typedef T49 item49;
  2540.    
  2541.  
  2542.     typedef void_ item50;
  2543.     typedef T49 back;
  2544.     typedef v_iter< type,0 > begin;
  2545.     typedef v_iter< type,50 > end;
  2546. };
  2547.  
  2548. template<>
  2549. struct push_front_impl< aux::vector_tag<49> >
  2550. {
  2551.     template< typename Vector, typename T > struct apply
  2552.     {
  2553.         typedef vector50<
  2554.               T
  2555.               ,
  2556.               typename Vector::item0, typename Vector::item1
  2557.             , typename Vector::item2, typename Vector::item3
  2558.             , typename Vector::item4, typename Vector::item5
  2559.             , typename Vector::item6, typename Vector::item7
  2560.             , typename Vector::item8, typename Vector::item9
  2561.             , typename Vector::item10, typename Vector::item11
  2562.             , typename Vector::item12, typename Vector::item13
  2563.             , typename Vector::item14, typename Vector::item15
  2564.             , typename Vector::item16, typename Vector::item17
  2565.             , typename Vector::item18, typename Vector::item19
  2566.             , typename Vector::item20, typename Vector::item21
  2567.             , typename Vector::item22, typename Vector::item23
  2568.             , typename Vector::item24, typename Vector::item25
  2569.             , typename Vector::item26, typename Vector::item27
  2570.             , typename Vector::item28, typename Vector::item29
  2571.             , typename Vector::item30, typename Vector::item31
  2572.             , typename Vector::item32, typename Vector::item33
  2573.             , typename Vector::item34, typename Vector::item35
  2574.             , typename Vector::item36, typename Vector::item37
  2575.             , typename Vector::item38, typename Vector::item39
  2576.             , typename Vector::item40, typename Vector::item41
  2577.             , typename Vector::item42, typename Vector::item43
  2578.             , typename Vector::item44, typename Vector::item45
  2579.             , typename Vector::item46, typename Vector::item47
  2580.             , typename Vector::item48
  2581.             > type;
  2582.     };
  2583. };
  2584.  
  2585. template<>
  2586. struct pop_front_impl< aux::vector_tag<50> >
  2587. {
  2588.     template< typename Vector > struct apply
  2589.     {
  2590.         typedef vector49<
  2591.               typename Vector::item1, typename Vector::item2
  2592.             , typename Vector::item3, typename Vector::item4
  2593.             , typename Vector::item5, typename Vector::item6
  2594.             , typename Vector::item7, typename Vector::item8
  2595.             , typename Vector::item9, typename Vector::item10
  2596.             , typename Vector::item11, typename Vector::item12
  2597.             , typename Vector::item13, typename Vector::item14
  2598.             , typename Vector::item15, typename Vector::item16
  2599.             , typename Vector::item17, typename Vector::item18
  2600.             , typename Vector::item19, typename Vector::item20
  2601.             , typename Vector::item21, typename Vector::item22
  2602.             , typename Vector::item23, typename Vector::item24
  2603.             , typename Vector::item25, typename Vector::item26
  2604.             , typename Vector::item27, typename Vector::item28
  2605.             , typename Vector::item29, typename Vector::item30
  2606.             , typename Vector::item31, typename Vector::item32
  2607.             , typename Vector::item33, typename Vector::item34
  2608.             , typename Vector::item35, typename Vector::item36
  2609.             , typename Vector::item37, typename Vector::item38
  2610.             , typename Vector::item39, typename Vector::item40
  2611.             , typename Vector::item41, typename Vector::item42
  2612.             , typename Vector::item43, typename Vector::item44
  2613.             , typename Vector::item45, typename Vector::item46
  2614.             , typename Vector::item47, typename Vector::item48
  2615.             , typename Vector::item49
  2616.             > type;
  2617.     };
  2618. };
  2619.  
  2620. template<>
  2621. struct push_back_impl< aux::vector_tag<49> >
  2622. {
  2623.     template< typename Vector, typename T > struct apply
  2624.     {
  2625.         typedef vector50<
  2626.               typename Vector::item0, typename Vector::item1
  2627.             , typename Vector::item2, typename Vector::item3
  2628.             , typename Vector::item4, typename Vector::item5
  2629.             , typename Vector::item6, typename Vector::item7
  2630.             , typename Vector::item8, typename Vector::item9
  2631.             , typename Vector::item10, typename Vector::item11
  2632.             , typename Vector::item12, typename Vector::item13
  2633.             , typename Vector::item14, typename Vector::item15
  2634.             , typename Vector::item16, typename Vector::item17
  2635.             , typename Vector::item18, typename Vector::item19
  2636.             , typename Vector::item20, typename Vector::item21
  2637.             , typename Vector::item22, typename Vector::item23
  2638.             , typename Vector::item24, typename Vector::item25
  2639.             , typename Vector::item26, typename Vector::item27
  2640.             , typename Vector::item28, typename Vector::item29
  2641.             , typename Vector::item30, typename Vector::item31
  2642.             , typename Vector::item32, typename Vector::item33
  2643.             , typename Vector::item34, typename Vector::item35
  2644.             , typename Vector::item36, typename Vector::item37
  2645.             , typename Vector::item38, typename Vector::item39
  2646.             , typename Vector::item40, typename Vector::item41
  2647.             , typename Vector::item42, typename Vector::item43
  2648.             , typename Vector::item44, typename Vector::item45
  2649.             , typename Vector::item46, typename Vector::item47
  2650.             , typename Vector::item48
  2651.               ,
  2652.               T
  2653.             > type;
  2654.     };
  2655. };
  2656.  
  2657. template<>
  2658. struct pop_back_impl< aux::vector_tag<50> >
  2659. {
  2660.     template< typename Vector > struct apply
  2661.     {
  2662.         typedef vector49<
  2663.               typename Vector::item0, typename Vector::item1
  2664.             , typename Vector::item2, typename Vector::item3
  2665.             , typename Vector::item4, typename Vector::item5
  2666.             , typename Vector::item6, typename Vector::item7
  2667.             , typename Vector::item8, typename Vector::item9
  2668.             , typename Vector::item10, typename Vector::item11
  2669.             , typename Vector::item12, typename Vector::item13
  2670.             , typename Vector::item14, typename Vector::item15
  2671.             , typename Vector::item16, typename Vector::item17
  2672.             , typename Vector::item18, typename Vector::item19
  2673.             , typename Vector::item20, typename Vector::item21
  2674.             , typename Vector::item22, typename Vector::item23
  2675.             , typename Vector::item24, typename Vector::item25
  2676.             , typename Vector::item26, typename Vector::item27
  2677.             , typename Vector::item28, typename Vector::item29
  2678.             , typename Vector::item30, typename Vector::item31
  2679.             , typename Vector::item32, typename Vector::item33
  2680.             , typename Vector::item34, typename Vector::item35
  2681.             , typename Vector::item36, typename Vector::item37
  2682.             , typename Vector::item38, typename Vector::item39
  2683.             , typename Vector::item40, typename Vector::item41
  2684.             , typename Vector::item42, typename Vector::item43
  2685.             , typename Vector::item44, typename Vector::item45
  2686.             , typename Vector::item46, typename Vector::item47
  2687.             , typename Vector::item48
  2688.             > type;
  2689.     };
  2690. };
  2691.  
  2692. namespace aux {
  2693. template<> struct v_at_impl<50>
  2694. {
  2695.     template< typename V_ > struct result_
  2696.     {
  2697.         typedef typename V_::item50 type;
  2698.     };
  2699. };
  2700.  
  2701. }
  2702.  
  2703. template<>
  2704. struct at_impl< aux::vector_tag<50> >
  2705. {
  2706.     template< typename V_, typename N > struct apply
  2707.     {
  2708.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  2709.             ::template result_<V_>::type type;
  2710.     };
  2711. };
  2712.  
  2713. template<>
  2714. struct front_impl< aux::vector_tag<50> >
  2715. {
  2716.     template< typename Vector > struct apply
  2717.     {
  2718.         typedef typename Vector::item0 type;
  2719.     };
  2720. };
  2721.  
  2722. template<>
  2723. struct back_impl< aux::vector_tag<50> >
  2724. {
  2725.     template< typename Vector > struct apply
  2726.     {
  2727.         typedef typename Vector::back type;
  2728.     };
  2729. };
  2730.  
  2731. template<>
  2732. struct empty_impl< aux::vector_tag<50> >
  2733. {
  2734.     template< typename Vector > struct apply
  2735.         : false_
  2736.     {
  2737.     };
  2738. };
  2739.  
  2740. template<>
  2741. struct size_impl< aux::vector_tag<50> >
  2742. {
  2743.     template< typename Vector > struct apply
  2744.         : long_<50>
  2745.     {
  2746.     };
  2747. };
  2748.  
  2749. template<>
  2750. struct O1_size_impl< aux::vector_tag<50> >
  2751.     : size_impl< aux::vector_tag<50> >
  2752. {
  2753. };
  2754.  
  2755. template<>
  2756. struct clear_impl< aux::vector_tag<50> >
  2757. {
  2758.     template< typename Vector > struct apply
  2759.     {
  2760.         typedef vector0<> type;
  2761.     };
  2762. };
  2763.  
  2764. }}
  2765.  
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