BVB Source Codes

mars Show vector40.hpp Source code

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