BVB Source Codes

mars Show vector20.hpp Source code

Return Download mars: download vector20.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/vector20.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
  18.     >
  19. struct vector11
  20. {
  21.     typedef aux::vector_tag<11> tag;
  22.     typedef vector11 type;
  23.     typedef T0 item0;
  24.     typedef T1 item1;
  25.     typedef T2 item2;
  26.     typedef T3 item3;
  27.     typedef T4 item4;
  28.     typedef T5 item5;
  29.     typedef T6 item6;
  30.     typedef T7 item7;
  31.     typedef T8 item8;
  32.     typedef T9 item9;
  33.     typedef T10 item10;
  34.    
  35.  
  36.     typedef void_ item11;
  37.     typedef T10 back;
  38.     typedef v_iter< type,0 > begin;
  39.     typedef v_iter< type,11 > end;
  40. };
  41.  
  42. template<>
  43. struct push_front_impl< aux::vector_tag<10> >
  44. {
  45.     template< typename Vector, typename T > struct apply
  46.     {
  47.         typedef vector11<
  48.               T
  49.               ,
  50.               typename Vector::item0, typename Vector::item1
  51.             , typename Vector::item2, typename Vector::item3
  52.             , typename Vector::item4, typename Vector::item5
  53.             , typename Vector::item6, typename Vector::item7
  54.             , typename Vector::item8, typename Vector::item9
  55.             > type;
  56.     };
  57. };
  58.  
  59. template<>
  60. struct pop_front_impl< aux::vector_tag<11> >
  61. {
  62.     template< typename Vector > struct apply
  63.     {
  64.         typedef vector10<
  65.               typename Vector::item1, typename Vector::item2
  66.             , typename Vector::item3, typename Vector::item4
  67.             , typename Vector::item5, typename Vector::item6
  68.             , typename Vector::item7, typename Vector::item8
  69.             , typename Vector::item9, typename Vector::item10
  70.             > type;
  71.     };
  72. };
  73.  
  74. template<>
  75. struct push_back_impl< aux::vector_tag<10> >
  76. {
  77.     template< typename Vector, typename T > struct apply
  78.     {
  79.         typedef vector11<
  80.               typename Vector::item0, typename Vector::item1
  81.             , typename Vector::item2, typename Vector::item3
  82.             , typename Vector::item4, typename Vector::item5
  83.             , typename Vector::item6, typename Vector::item7
  84.             , typename Vector::item8, typename Vector::item9
  85.               ,
  86.               T
  87.             > type;
  88.     };
  89. };
  90.  
  91. template<>
  92. struct pop_back_impl< aux::vector_tag<11> >
  93. {
  94.     template< typename Vector > struct apply
  95.     {
  96.         typedef vector10<
  97.               typename Vector::item0, typename Vector::item1
  98.             , typename Vector::item2, typename Vector::item3
  99.             , typename Vector::item4, typename Vector::item5
  100.             , typename Vector::item6, typename Vector::item7
  101.             , typename Vector::item8, typename Vector::item9
  102.             > type;
  103.     };
  104. };
  105.  
  106. template< typename V >
  107. struct v_at< V,11 >
  108. {
  109.     typedef typename V::item11 type;
  110. };
  111.  
  112. template<
  113.       typename T0, typename T1, typename T2, typename T3, typename T4
  114.     , typename T5, typename T6, typename T7, typename T8, typename T9
  115.     , typename T10, typename T11
  116.     >
  117. struct vector12
  118. {
  119.     typedef aux::vector_tag<12> tag;
  120.     typedef vector12 type;
  121.     typedef T0 item0;
  122.     typedef T1 item1;
  123.     typedef T2 item2;
  124.     typedef T3 item3;
  125.     typedef T4 item4;
  126.     typedef T5 item5;
  127.     typedef T6 item6;
  128.     typedef T7 item7;
  129.     typedef T8 item8;
  130.     typedef T9 item9;
  131.     typedef T10 item10;
  132.     typedef T11 item11;
  133.    
  134.  
  135.     typedef void_ item12;
  136.     typedef T11 back;
  137.     typedef v_iter< type,0 > begin;
  138.     typedef v_iter< type,12 > end;
  139. };
  140.  
  141. template<>
  142. struct push_front_impl< aux::vector_tag<11> >
  143. {
  144.     template< typename Vector, typename T > struct apply
  145.     {
  146.         typedef vector12<
  147.               T
  148.               ,
  149.               typename Vector::item0, typename Vector::item1
  150.             , typename Vector::item2, typename Vector::item3
  151.             , typename Vector::item4, typename Vector::item5
  152.             , typename Vector::item6, typename Vector::item7
  153.             , typename Vector::item8, typename Vector::item9
  154.             , typename Vector::item10
  155.             > type;
  156.     };
  157. };
  158.  
  159. template<>
  160. struct pop_front_impl< aux::vector_tag<12> >
  161. {
  162.     template< typename Vector > struct apply
  163.     {
  164.         typedef vector11<
  165.               typename Vector::item1, typename Vector::item2
  166.             , typename Vector::item3, typename Vector::item4
  167.             , typename Vector::item5, typename Vector::item6
  168.             , typename Vector::item7, typename Vector::item8
  169.             , typename Vector::item9, typename Vector::item10
  170.             , typename Vector::item11
  171.             > type;
  172.     };
  173. };
  174.  
  175. template<>
  176. struct push_back_impl< aux::vector_tag<11> >
  177. {
  178.     template< typename Vector, typename T > struct apply
  179.     {
  180.         typedef vector12<
  181.               typename Vector::item0, typename Vector::item1
  182.             , typename Vector::item2, typename Vector::item3
  183.             , typename Vector::item4, typename Vector::item5
  184.             , typename Vector::item6, typename Vector::item7
  185.             , typename Vector::item8, typename Vector::item9
  186.             , typename Vector::item10
  187.               ,
  188.               T
  189.             > type;
  190.     };
  191. };
  192.  
  193. template<>
  194. struct pop_back_impl< aux::vector_tag<12> >
  195. {
  196.     template< typename Vector > struct apply
  197.     {
  198.         typedef vector11<
  199.               typename Vector::item0, typename Vector::item1
  200.             , typename Vector::item2, typename Vector::item3
  201.             , typename Vector::item4, typename Vector::item5
  202.             , typename Vector::item6, typename Vector::item7
  203.             , typename Vector::item8, typename Vector::item9
  204.             , typename Vector::item10
  205.             > type;
  206.     };
  207. };
  208.  
  209. template< typename V >
  210. struct v_at< V,12 >
  211. {
  212.     typedef typename V::item12 type;
  213. };
  214.  
  215. template<
  216.       typename T0, typename T1, typename T2, typename T3, typename T4
  217.     , typename T5, typename T6, typename T7, typename T8, typename T9
  218.     , typename T10, typename T11, typename T12
  219.     >
  220. struct vector13
  221. {
  222.     typedef aux::vector_tag<13> tag;
  223.     typedef vector13 type;
  224.     typedef T0 item0;
  225.     typedef T1 item1;
  226.     typedef T2 item2;
  227.     typedef T3 item3;
  228.     typedef T4 item4;
  229.     typedef T5 item5;
  230.     typedef T6 item6;
  231.     typedef T7 item7;
  232.     typedef T8 item8;
  233.     typedef T9 item9;
  234.     typedef T10 item10;
  235.     typedef T11 item11;
  236.     typedef T12 item12;
  237.    
  238.  
  239.     typedef void_ item13;
  240.     typedef T12 back;
  241.     typedef v_iter< type,0 > begin;
  242.     typedef v_iter< type,13 > end;
  243. };
  244.  
  245. template<>
  246. struct push_front_impl< aux::vector_tag<12> >
  247. {
  248.     template< typename Vector, typename T > struct apply
  249.     {
  250.         typedef vector13<
  251.               T
  252.               ,
  253.               typename Vector::item0, typename Vector::item1
  254.             , typename Vector::item2, typename Vector::item3
  255.             , typename Vector::item4, typename Vector::item5
  256.             , typename Vector::item6, typename Vector::item7
  257.             , typename Vector::item8, typename Vector::item9
  258.             , typename Vector::item10, typename Vector::item11
  259.             > type;
  260.     };
  261. };
  262.  
  263. template<>
  264. struct pop_front_impl< aux::vector_tag<13> >
  265. {
  266.     template< typename Vector > struct apply
  267.     {
  268.         typedef vector12<
  269.               typename Vector::item1, typename Vector::item2
  270.             , typename Vector::item3, typename Vector::item4
  271.             , typename Vector::item5, typename Vector::item6
  272.             , typename Vector::item7, typename Vector::item8
  273.             , typename Vector::item9, typename Vector::item10
  274.             , typename Vector::item11, typename Vector::item12
  275.             > type;
  276.     };
  277. };
  278.  
  279. template<>
  280. struct push_back_impl< aux::vector_tag<12> >
  281. {
  282.     template< typename Vector, typename T > struct apply
  283.     {
  284.         typedef vector13<
  285.               typename Vector::item0, typename Vector::item1
  286.             , typename Vector::item2, typename Vector::item3
  287.             , typename Vector::item4, typename Vector::item5
  288.             , typename Vector::item6, typename Vector::item7
  289.             , typename Vector::item8, typename Vector::item9
  290.             , typename Vector::item10, typename Vector::item11
  291.               ,
  292.               T
  293.             > type;
  294.     };
  295. };
  296.  
  297. template<>
  298. struct pop_back_impl< aux::vector_tag<13> >
  299. {
  300.     template< typename Vector > struct apply
  301.     {
  302.         typedef vector12<
  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.             > type;
  310.     };
  311. };
  312.  
  313. template< typename V >
  314. struct v_at< V,13 >
  315. {
  316.     typedef typename V::item13 type;
  317. };
  318.  
  319. template<
  320.       typename T0, typename T1, typename T2, typename T3, typename T4
  321.     , typename T5, typename T6, typename T7, typename T8, typename T9
  322.     , typename T10, typename T11, typename T12, typename T13
  323.     >
  324. struct vector14
  325. {
  326.     typedef aux::vector_tag<14> tag;
  327.     typedef vector14 type;
  328.     typedef T0 item0;
  329.     typedef T1 item1;
  330.     typedef T2 item2;
  331.     typedef T3 item3;
  332.     typedef T4 item4;
  333.     typedef T5 item5;
  334.     typedef T6 item6;
  335.     typedef T7 item7;
  336.     typedef T8 item8;
  337.     typedef T9 item9;
  338.     typedef T10 item10;
  339.     typedef T11 item11;
  340.     typedef T12 item12;
  341.     typedef T13 item13;
  342.    
  343.  
  344.     typedef void_ item14;
  345.     typedef T13 back;
  346.     typedef v_iter< type,0 > begin;
  347.     typedef v_iter< type,14 > end;
  348. };
  349.  
  350. template<>
  351. struct push_front_impl< aux::vector_tag<13> >
  352. {
  353.     template< typename Vector, typename T > struct apply
  354.     {
  355.         typedef vector14<
  356.               T
  357.               ,
  358.               typename Vector::item0, typename Vector::item1
  359.             , typename Vector::item2, typename Vector::item3
  360.             , typename Vector::item4, typename Vector::item5
  361.             , typename Vector::item6, typename Vector::item7
  362.             , typename Vector::item8, typename Vector::item9
  363.             , typename Vector::item10, typename Vector::item11
  364.             , typename Vector::item12
  365.             > type;
  366.     };
  367. };
  368.  
  369. template<>
  370. struct pop_front_impl< aux::vector_tag<14> >
  371. {
  372.     template< typename Vector > struct apply
  373.     {
  374.         typedef vector13<
  375.               typename Vector::item1, typename Vector::item2
  376.             , typename Vector::item3, typename Vector::item4
  377.             , typename Vector::item5, typename Vector::item6
  378.             , typename Vector::item7, typename Vector::item8
  379.             , typename Vector::item9, typename Vector::item10
  380.             , typename Vector::item11, typename Vector::item12
  381.             , typename Vector::item13
  382.             > type;
  383.     };
  384. };
  385.  
  386. template<>
  387. struct push_back_impl< aux::vector_tag<13> >
  388. {
  389.     template< typename Vector, typename T > struct apply
  390.     {
  391.         typedef vector14<
  392.               typename Vector::item0, typename Vector::item1
  393.             , typename Vector::item2, typename Vector::item3
  394.             , typename Vector::item4, typename Vector::item5
  395.             , typename Vector::item6, typename Vector::item7
  396.             , typename Vector::item8, typename Vector::item9
  397.             , typename Vector::item10, typename Vector::item11
  398.             , typename Vector::item12
  399.               ,
  400.               T
  401.             > type;
  402.     };
  403. };
  404.  
  405. template<>
  406. struct pop_back_impl< aux::vector_tag<14> >
  407. {
  408.     template< typename Vector > struct apply
  409.     {
  410.         typedef vector13<
  411.               typename Vector::item0, typename Vector::item1
  412.             , typename Vector::item2, typename Vector::item3
  413.             , typename Vector::item4, typename Vector::item5
  414.             , typename Vector::item6, typename Vector::item7
  415.             , typename Vector::item8, typename Vector::item9
  416.             , typename Vector::item10, typename Vector::item11
  417.             , typename Vector::item12
  418.             > type;
  419.     };
  420. };
  421.  
  422. template< typename V >
  423. struct v_at< V,14 >
  424. {
  425.     typedef typename V::item14 type;
  426. };
  427.  
  428. template<
  429.       typename T0, typename T1, typename T2, typename T3, typename T4
  430.     , typename T5, typename T6, typename T7, typename T8, typename T9
  431.     , typename T10, typename T11, typename T12, typename T13, typename T14
  432.     >
  433. struct vector15
  434. {
  435.     typedef aux::vector_tag<15> tag;
  436.     typedef vector15 type;
  437.     typedef T0 item0;
  438.     typedef T1 item1;
  439.     typedef T2 item2;
  440.     typedef T3 item3;
  441.     typedef T4 item4;
  442.     typedef T5 item5;
  443.     typedef T6 item6;
  444.     typedef T7 item7;
  445.     typedef T8 item8;
  446.     typedef T9 item9;
  447.     typedef T10 item10;
  448.     typedef T11 item11;
  449.     typedef T12 item12;
  450.     typedef T13 item13;
  451.     typedef T14 item14;
  452.    
  453.  
  454.     typedef void_ item15;
  455.     typedef T14 back;
  456.     typedef v_iter< type,0 > begin;
  457.     typedef v_iter< type,15 > end;
  458. };
  459.  
  460. template<>
  461. struct push_front_impl< aux::vector_tag<14> >
  462. {
  463.     template< typename Vector, typename T > struct apply
  464.     {
  465.         typedef vector15<
  466.               T
  467.               ,
  468.               typename Vector::item0, typename Vector::item1
  469.             , typename Vector::item2, typename Vector::item3
  470.             , typename Vector::item4, typename Vector::item5
  471.             , typename Vector::item6, typename Vector::item7
  472.             , typename Vector::item8, typename Vector::item9
  473.             , typename Vector::item10, typename Vector::item11
  474.             , typename Vector::item12, typename Vector::item13
  475.             > type;
  476.     };
  477. };
  478.  
  479. template<>
  480. struct pop_front_impl< aux::vector_tag<15> >
  481. {
  482.     template< typename Vector > struct apply
  483.     {
  484.         typedef vector14<
  485.               typename Vector::item1, typename Vector::item2
  486.             , typename Vector::item3, typename Vector::item4
  487.             , typename Vector::item5, typename Vector::item6
  488.             , typename Vector::item7, typename Vector::item8
  489.             , typename Vector::item9, typename Vector::item10
  490.             , typename Vector::item11, typename Vector::item12
  491.             , typename Vector::item13, typename Vector::item14
  492.             > type;
  493.     };
  494. };
  495.  
  496. template<>
  497. struct push_back_impl< aux::vector_tag<14> >
  498. {
  499.     template< typename Vector, typename T > struct apply
  500.     {
  501.         typedef vector15<
  502.               typename Vector::item0, typename Vector::item1
  503.             , typename Vector::item2, typename Vector::item3
  504.             , typename Vector::item4, typename Vector::item5
  505.             , typename Vector::item6, typename Vector::item7
  506.             , typename Vector::item8, typename Vector::item9
  507.             , typename Vector::item10, typename Vector::item11
  508.             , typename Vector::item12, typename Vector::item13
  509.               ,
  510.               T
  511.             > type;
  512.     };
  513. };
  514.  
  515. template<>
  516. struct pop_back_impl< aux::vector_tag<15> >
  517. {
  518.     template< typename Vector > struct apply
  519.     {
  520.         typedef vector14<
  521.               typename Vector::item0, typename Vector::item1
  522.             , typename Vector::item2, typename Vector::item3
  523.             , typename Vector::item4, typename Vector::item5
  524.             , typename Vector::item6, typename Vector::item7
  525.             , typename Vector::item8, typename Vector::item9
  526.             , typename Vector::item10, typename Vector::item11
  527.             , typename Vector::item12, typename Vector::item13
  528.             > type;
  529.     };
  530. };
  531.  
  532. template< typename V >
  533. struct v_at< V,15 >
  534. {
  535.     typedef typename V::item15 type;
  536. };
  537.  
  538. template<
  539.       typename T0, typename T1, typename T2, typename T3, typename T4
  540.     , typename T5, typename T6, typename T7, typename T8, typename T9
  541.     , typename T10, typename T11, typename T12, typename T13, typename T14
  542.     , typename T15
  543.     >
  544. struct vector16
  545. {
  546.     typedef aux::vector_tag<16> tag;
  547.     typedef vector16 type;
  548.     typedef T0 item0;
  549.     typedef T1 item1;
  550.     typedef T2 item2;
  551.     typedef T3 item3;
  552.     typedef T4 item4;
  553.     typedef T5 item5;
  554.     typedef T6 item6;
  555.     typedef T7 item7;
  556.     typedef T8 item8;
  557.     typedef T9 item9;
  558.     typedef T10 item10;
  559.     typedef T11 item11;
  560.     typedef T12 item12;
  561.     typedef T13 item13;
  562.     typedef T14 item14;
  563.     typedef T15 item15;
  564.    
  565.  
  566.     typedef void_ item16;
  567.     typedef T15 back;
  568.     typedef v_iter< type,0 > begin;
  569.     typedef v_iter< type,16 > end;
  570. };
  571.  
  572. template<>
  573. struct push_front_impl< aux::vector_tag<15> >
  574. {
  575.     template< typename Vector, typename T > struct apply
  576.     {
  577.         typedef vector16<
  578.               T
  579.               ,
  580.               typename Vector::item0, typename Vector::item1
  581.             , typename Vector::item2, typename Vector::item3
  582.             , typename Vector::item4, typename Vector::item5
  583.             , typename Vector::item6, typename Vector::item7
  584.             , typename Vector::item8, typename Vector::item9
  585.             , typename Vector::item10, typename Vector::item11
  586.             , typename Vector::item12, typename Vector::item13
  587.             , typename Vector::item14
  588.             > type;
  589.     };
  590. };
  591.  
  592. template<>
  593. struct pop_front_impl< aux::vector_tag<16> >
  594. {
  595.     template< typename Vector > struct apply
  596.     {
  597.         typedef vector15<
  598.               typename Vector::item1, typename Vector::item2
  599.             , typename Vector::item3, typename Vector::item4
  600.             , typename Vector::item5, typename Vector::item6
  601.             , typename Vector::item7, typename Vector::item8
  602.             , typename Vector::item9, typename Vector::item10
  603.             , typename Vector::item11, typename Vector::item12
  604.             , typename Vector::item13, typename Vector::item14
  605.             , typename Vector::item15
  606.             > type;
  607.     };
  608. };
  609.  
  610. template<>
  611. struct push_back_impl< aux::vector_tag<15> >
  612. {
  613.     template< typename Vector, typename T > struct apply
  614.     {
  615.         typedef vector16<
  616.               typename Vector::item0, typename Vector::item1
  617.             , typename Vector::item2, typename Vector::item3
  618.             , typename Vector::item4, typename Vector::item5
  619.             , typename Vector::item6, typename Vector::item7
  620.             , typename Vector::item8, typename Vector::item9
  621.             , typename Vector::item10, typename Vector::item11
  622.             , typename Vector::item12, typename Vector::item13
  623.             , typename Vector::item14
  624.               ,
  625.               T
  626.             > type;
  627.     };
  628. };
  629.  
  630. template<>
  631. struct pop_back_impl< aux::vector_tag<16> >
  632. {
  633.     template< typename Vector > struct apply
  634.     {
  635.         typedef vector15<
  636.               typename Vector::item0, typename Vector::item1
  637.             , typename Vector::item2, typename Vector::item3
  638.             , typename Vector::item4, typename Vector::item5
  639.             , typename Vector::item6, typename Vector::item7
  640.             , typename Vector::item8, typename Vector::item9
  641.             , typename Vector::item10, typename Vector::item11
  642.             , typename Vector::item12, typename Vector::item13
  643.             , typename Vector::item14
  644.             > type;
  645.     };
  646. };
  647.  
  648. template< typename V >
  649. struct v_at< V,16 >
  650. {
  651.     typedef typename V::item16 type;
  652. };
  653.  
  654. template<
  655.       typename T0, typename T1, typename T2, typename T3, typename T4
  656.     , typename T5, typename T6, typename T7, typename T8, typename T9
  657.     , typename T10, typename T11, typename T12, typename T13, typename T14
  658.     , typename T15, typename T16
  659.     >
  660. struct vector17
  661. {
  662.     typedef aux::vector_tag<17> tag;
  663.     typedef vector17 type;
  664.     typedef T0 item0;
  665.     typedef T1 item1;
  666.     typedef T2 item2;
  667.     typedef T3 item3;
  668.     typedef T4 item4;
  669.     typedef T5 item5;
  670.     typedef T6 item6;
  671.     typedef T7 item7;
  672.     typedef T8 item8;
  673.     typedef T9 item9;
  674.     typedef T10 item10;
  675.     typedef T11 item11;
  676.     typedef T12 item12;
  677.     typedef T13 item13;
  678.     typedef T14 item14;
  679.     typedef T15 item15;
  680.     typedef T16 item16;
  681.    
  682.  
  683.     typedef void_ item17;
  684.     typedef T16 back;
  685.     typedef v_iter< type,0 > begin;
  686.     typedef v_iter< type,17 > end;
  687. };
  688.  
  689. template<>
  690. struct push_front_impl< aux::vector_tag<16> >
  691. {
  692.     template< typename Vector, typename T > struct apply
  693.     {
  694.         typedef vector17<
  695.               T
  696.               ,
  697.               typename Vector::item0, typename Vector::item1
  698.             , typename Vector::item2, typename Vector::item3
  699.             , typename Vector::item4, typename Vector::item5
  700.             , typename Vector::item6, typename Vector::item7
  701.             , typename Vector::item8, typename Vector::item9
  702.             , typename Vector::item10, typename Vector::item11
  703.             , typename Vector::item12, typename Vector::item13
  704.             , typename Vector::item14, typename Vector::item15
  705.             > type;
  706.     };
  707. };
  708.  
  709. template<>
  710. struct pop_front_impl< aux::vector_tag<17> >
  711. {
  712.     template< typename Vector > struct apply
  713.     {
  714.         typedef vector16<
  715.               typename Vector::item1, typename Vector::item2
  716.             , typename Vector::item3, typename Vector::item4
  717.             , typename Vector::item5, typename Vector::item6
  718.             , typename Vector::item7, typename Vector::item8
  719.             , typename Vector::item9, typename Vector::item10
  720.             , typename Vector::item11, typename Vector::item12
  721.             , typename Vector::item13, typename Vector::item14
  722.             , typename Vector::item15, typename Vector::item16
  723.             > type;
  724.     };
  725. };
  726.  
  727. template<>
  728. struct push_back_impl< aux::vector_tag<16> >
  729. {
  730.     template< typename Vector, typename T > struct apply
  731.     {
  732.         typedef vector17<
  733.               typename Vector::item0, typename Vector::item1
  734.             , typename Vector::item2, typename Vector::item3
  735.             , typename Vector::item4, typename Vector::item5
  736.             , typename Vector::item6, typename Vector::item7
  737.             , typename Vector::item8, typename Vector::item9
  738.             , typename Vector::item10, typename Vector::item11
  739.             , typename Vector::item12, typename Vector::item13
  740.             , typename Vector::item14, typename Vector::item15
  741.               ,
  742.               T
  743.             > type;
  744.     };
  745. };
  746.  
  747. template<>
  748. struct pop_back_impl< aux::vector_tag<17> >
  749. {
  750.     template< typename Vector > struct apply
  751.     {
  752.         typedef vector16<
  753.               typename Vector::item0, typename Vector::item1
  754.             , typename Vector::item2, typename Vector::item3
  755.             , typename Vector::item4, typename Vector::item5
  756.             , typename Vector::item6, typename Vector::item7
  757.             , typename Vector::item8, typename Vector::item9
  758.             , typename Vector::item10, typename Vector::item11
  759.             , typename Vector::item12, typename Vector::item13
  760.             , typename Vector::item14, typename Vector::item15
  761.             > type;
  762.     };
  763. };
  764.  
  765. template< typename V >
  766. struct v_at< V,17 >
  767. {
  768.     typedef typename V::item17 type;
  769. };
  770.  
  771. template<
  772.       typename T0, typename T1, typename T2, typename T3, typename T4
  773.     , typename T5, typename T6, typename T7, typename T8, typename T9
  774.     , typename T10, typename T11, typename T12, typename T13, typename T14
  775.     , typename T15, typename T16, typename T17
  776.     >
  777. struct vector18
  778. {
  779.     typedef aux::vector_tag<18> tag;
  780.     typedef vector18 type;
  781.     typedef T0 item0;
  782.     typedef T1 item1;
  783.     typedef T2 item2;
  784.     typedef T3 item3;
  785.     typedef T4 item4;
  786.     typedef T5 item5;
  787.     typedef T6 item6;
  788.     typedef T7 item7;
  789.     typedef T8 item8;
  790.     typedef T9 item9;
  791.     typedef T10 item10;
  792.     typedef T11 item11;
  793.     typedef T12 item12;
  794.     typedef T13 item13;
  795.     typedef T14 item14;
  796.     typedef T15 item15;
  797.     typedef T16 item16;
  798.     typedef T17 item17;
  799.    
  800.  
  801.     typedef void_ item18;
  802.     typedef T17 back;
  803.     typedef v_iter< type,0 > begin;
  804.     typedef v_iter< type,18 > end;
  805. };
  806.  
  807. template<>
  808. struct push_front_impl< aux::vector_tag<17> >
  809. {
  810.     template< typename Vector, typename T > struct apply
  811.     {
  812.         typedef vector18<
  813.               T
  814.               ,
  815.               typename Vector::item0, typename Vector::item1
  816.             , typename Vector::item2, typename Vector::item3
  817.             , typename Vector::item4, typename Vector::item5
  818.             , typename Vector::item6, typename Vector::item7
  819.             , typename Vector::item8, typename Vector::item9
  820.             , typename Vector::item10, typename Vector::item11
  821.             , typename Vector::item12, typename Vector::item13
  822.             , typename Vector::item14, typename Vector::item15
  823.             , typename Vector::item16
  824.             > type;
  825.     };
  826. };
  827.  
  828. template<>
  829. struct pop_front_impl< aux::vector_tag<18> >
  830. {
  831.     template< typename Vector > struct apply
  832.     {
  833.         typedef vector17<
  834.               typename Vector::item1, typename Vector::item2
  835.             , typename Vector::item3, typename Vector::item4
  836.             , typename Vector::item5, typename Vector::item6
  837.             , typename Vector::item7, typename Vector::item8
  838.             , typename Vector::item9, typename Vector::item10
  839.             , typename Vector::item11, typename Vector::item12
  840.             , typename Vector::item13, typename Vector::item14
  841.             , typename Vector::item15, typename Vector::item16
  842.             , typename Vector::item17
  843.             > type;
  844.     };
  845. };
  846.  
  847. template<>
  848. struct push_back_impl< aux::vector_tag<17> >
  849. {
  850.     template< typename Vector, typename T > struct apply
  851.     {
  852.         typedef vector18<
  853.               typename Vector::item0, typename Vector::item1
  854.             , typename Vector::item2, typename Vector::item3
  855.             , typename Vector::item4, typename Vector::item5
  856.             , typename Vector::item6, typename Vector::item7
  857.             , typename Vector::item8, typename Vector::item9
  858.             , typename Vector::item10, typename Vector::item11
  859.             , typename Vector::item12, typename Vector::item13
  860.             , typename Vector::item14, typename Vector::item15
  861.             , typename Vector::item16
  862.               ,
  863.               T
  864.             > type;
  865.     };
  866. };
  867.  
  868. template<>
  869. struct pop_back_impl< aux::vector_tag<18> >
  870. {
  871.     template< typename Vector > struct apply
  872.     {
  873.         typedef vector17<
  874.               typename Vector::item0, typename Vector::item1
  875.             , typename Vector::item2, typename Vector::item3
  876.             , typename Vector::item4, typename Vector::item5
  877.             , typename Vector::item6, typename Vector::item7
  878.             , typename Vector::item8, typename Vector::item9
  879.             , typename Vector::item10, typename Vector::item11
  880.             , typename Vector::item12, typename Vector::item13
  881.             , typename Vector::item14, typename Vector::item15
  882.             , typename Vector::item16
  883.             > type;
  884.     };
  885. };
  886.  
  887. template< typename V >
  888. struct v_at< V,18 >
  889. {
  890.     typedef typename V::item18 type;
  891. };
  892.  
  893. template<
  894.       typename T0, typename T1, typename T2, typename T3, typename T4
  895.     , typename T5, typename T6, typename T7, typename T8, typename T9
  896.     , typename T10, typename T11, typename T12, typename T13, typename T14
  897.     , typename T15, typename T16, typename T17, typename T18
  898.     >
  899. struct vector19
  900. {
  901.     typedef aux::vector_tag<19> tag;
  902.     typedef vector19 type;
  903.     typedef T0 item0;
  904.     typedef T1 item1;
  905.     typedef T2 item2;
  906.     typedef T3 item3;
  907.     typedef T4 item4;
  908.     typedef T5 item5;
  909.     typedef T6 item6;
  910.     typedef T7 item7;
  911.     typedef T8 item8;
  912.     typedef T9 item9;
  913.     typedef T10 item10;
  914.     typedef T11 item11;
  915.     typedef T12 item12;
  916.     typedef T13 item13;
  917.     typedef T14 item14;
  918.     typedef T15 item15;
  919.     typedef T16 item16;
  920.     typedef T17 item17;
  921.     typedef T18 item18;
  922.    
  923.  
  924.     typedef void_ item19;
  925.     typedef T18 back;
  926.     typedef v_iter< type,0 > begin;
  927.     typedef v_iter< type,19 > end;
  928. };
  929.  
  930. template<>
  931. struct push_front_impl< aux::vector_tag<18> >
  932. {
  933.     template< typename Vector, typename T > struct apply
  934.     {
  935.         typedef vector19<
  936.               T
  937.               ,
  938.               typename Vector::item0, typename Vector::item1
  939.             , typename Vector::item2, typename Vector::item3
  940.             , typename Vector::item4, typename Vector::item5
  941.             , typename Vector::item6, typename Vector::item7
  942.             , typename Vector::item8, typename Vector::item9
  943.             , typename Vector::item10, typename Vector::item11
  944.             , typename Vector::item12, typename Vector::item13
  945.             , typename Vector::item14, typename Vector::item15
  946.             , typename Vector::item16, typename Vector::item17
  947.             > type;
  948.     };
  949. };
  950.  
  951. template<>
  952. struct pop_front_impl< aux::vector_tag<19> >
  953. {
  954.     template< typename Vector > struct apply
  955.     {
  956.         typedef vector18<
  957.               typename Vector::item1, typename Vector::item2
  958.             , typename Vector::item3, typename Vector::item4
  959.             , typename Vector::item5, typename Vector::item6
  960.             , typename Vector::item7, typename Vector::item8
  961.             , typename Vector::item9, typename Vector::item10
  962.             , typename Vector::item11, typename Vector::item12
  963.             , typename Vector::item13, typename Vector::item14
  964.             , typename Vector::item15, typename Vector::item16
  965.             , typename Vector::item17, typename Vector::item18
  966.             > type;
  967.     };
  968. };
  969.  
  970. template<>
  971. struct push_back_impl< aux::vector_tag<18> >
  972. {
  973.     template< typename Vector, typename T > struct apply
  974.     {
  975.         typedef vector19<
  976.               typename Vector::item0, typename Vector::item1
  977.             , typename Vector::item2, typename Vector::item3
  978.             , typename Vector::item4, typename Vector::item5
  979.             , typename Vector::item6, typename Vector::item7
  980.             , typename Vector::item8, typename Vector::item9
  981.             , typename Vector::item10, typename Vector::item11
  982.             , typename Vector::item12, typename Vector::item13
  983.             , typename Vector::item14, typename Vector::item15
  984.             , typename Vector::item16, typename Vector::item17
  985.               ,
  986.               T
  987.             > type;
  988.     };
  989. };
  990.  
  991. template<>
  992. struct pop_back_impl< aux::vector_tag<19> >
  993. {
  994.     template< typename Vector > struct apply
  995.     {
  996.         typedef vector18<
  997.               typename Vector::item0, typename Vector::item1
  998.             , typename Vector::item2, typename Vector::item3
  999.             , typename Vector::item4, typename Vector::item5
  1000.             , typename Vector::item6, typename Vector::item7
  1001.             , typename Vector::item8, typename Vector::item9
  1002.             , typename Vector::item10, typename Vector::item11
  1003.             , typename Vector::item12, typename Vector::item13
  1004.             , typename Vector::item14, typename Vector::item15
  1005.             , typename Vector::item16, typename Vector::item17
  1006.             > type;
  1007.     };
  1008. };
  1009.  
  1010. template< typename V >
  1011. struct v_at< V,19 >
  1012. {
  1013.     typedef typename V::item19 type;
  1014. };
  1015.  
  1016. template<
  1017.       typename T0, typename T1, typename T2, typename T3, typename T4
  1018.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1019.     , typename T10, typename T11, typename T12, typename T13, typename T14
  1020.     , typename T15, typename T16, typename T17, typename T18, typename T19
  1021.     >
  1022. struct vector20
  1023. {
  1024.     typedef aux::vector_tag<20> tag;
  1025.     typedef vector20 type;
  1026.     typedef T0 item0;
  1027.     typedef T1 item1;
  1028.     typedef T2 item2;
  1029.     typedef T3 item3;
  1030.     typedef T4 item4;
  1031.     typedef T5 item5;
  1032.     typedef T6 item6;
  1033.     typedef T7 item7;
  1034.     typedef T8 item8;
  1035.     typedef T9 item9;
  1036.     typedef T10 item10;
  1037.     typedef T11 item11;
  1038.     typedef T12 item12;
  1039.     typedef T13 item13;
  1040.     typedef T14 item14;
  1041.     typedef T15 item15;
  1042.     typedef T16 item16;
  1043.     typedef T17 item17;
  1044.     typedef T18 item18;
  1045.     typedef T19 item19;
  1046.    
  1047.  
  1048.     typedef void_ item20;
  1049.     typedef T19 back;
  1050.     typedef v_iter< type,0 > begin;
  1051.     typedef v_iter< type,20 > end;
  1052. };
  1053.  
  1054. template<>
  1055. struct push_front_impl< aux::vector_tag<19> >
  1056. {
  1057.     template< typename Vector, typename T > struct apply
  1058.     {
  1059.         typedef vector20<
  1060.               T
  1061.               ,
  1062.               typename Vector::item0, typename Vector::item1
  1063.             , typename Vector::item2, typename Vector::item3
  1064.             , typename Vector::item4, typename Vector::item5
  1065.             , typename Vector::item6, typename Vector::item7
  1066.             , typename Vector::item8, typename Vector::item9
  1067.             , typename Vector::item10, typename Vector::item11
  1068.             , typename Vector::item12, typename Vector::item13
  1069.             , typename Vector::item14, typename Vector::item15
  1070.             , typename Vector::item16, typename Vector::item17
  1071.             , typename Vector::item18
  1072.             > type;
  1073.     };
  1074. };
  1075.  
  1076. template<>
  1077. struct pop_front_impl< aux::vector_tag<20> >
  1078. {
  1079.     template< typename Vector > struct apply
  1080.     {
  1081.         typedef vector19<
  1082.               typename Vector::item1, typename Vector::item2
  1083.             , typename Vector::item3, typename Vector::item4
  1084.             , typename Vector::item5, typename Vector::item6
  1085.             , typename Vector::item7, typename Vector::item8
  1086.             , typename Vector::item9, typename Vector::item10
  1087.             , typename Vector::item11, typename Vector::item12
  1088.             , typename Vector::item13, typename Vector::item14
  1089.             , typename Vector::item15, typename Vector::item16
  1090.             , typename Vector::item17, typename Vector::item18
  1091.             , typename Vector::item19
  1092.             > type;
  1093.     };
  1094. };
  1095.  
  1096. template<>
  1097. struct push_back_impl< aux::vector_tag<19> >
  1098. {
  1099.     template< typename Vector, typename T > struct apply
  1100.     {
  1101.         typedef vector20<
  1102.               typename Vector::item0, typename Vector::item1
  1103.             , typename Vector::item2, typename Vector::item3
  1104.             , typename Vector::item4, typename Vector::item5
  1105.             , typename Vector::item6, typename Vector::item7
  1106.             , typename Vector::item8, typename Vector::item9
  1107.             , typename Vector::item10, typename Vector::item11
  1108.             , typename Vector::item12, typename Vector::item13
  1109.             , typename Vector::item14, typename Vector::item15
  1110.             , typename Vector::item16, typename Vector::item17
  1111.             , typename Vector::item18
  1112.               ,
  1113.               T
  1114.             > type;
  1115.     };
  1116. };
  1117.  
  1118. template<>
  1119. struct pop_back_impl< aux::vector_tag<20> >
  1120. {
  1121.     template< typename Vector > struct apply
  1122.     {
  1123.         typedef vector19<
  1124.               typename Vector::item0, typename Vector::item1
  1125.             , typename Vector::item2, typename Vector::item3
  1126.             , typename Vector::item4, typename Vector::item5
  1127.             , typename Vector::item6, typename Vector::item7
  1128.             , typename Vector::item8, typename Vector::item9
  1129.             , typename Vector::item10, typename Vector::item11
  1130.             , typename Vector::item12, typename Vector::item13
  1131.             , typename Vector::item14, typename Vector::item15
  1132.             , typename Vector::item16, typename Vector::item17
  1133.             , typename Vector::item18
  1134.             > type;
  1135.     };
  1136. };
  1137.  
  1138. template< typename V >
  1139. struct v_at< V,20 >
  1140. {
  1141.     typedef typename V::item20 type;
  1142. };
  1143.  
  1144. }}
  1145.  
downloadvector20.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