BVB Source Codes

mars Show vector10.hpp Source code

Return Download mars: download vector10.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/vector10.hpp" header
  10. // -- DO NOT modify by hand!
  11.  
  12. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  13.  
  14. namespace aux {
  15. template<> struct v_at_impl<0>
  16. {
  17.     template< typename V_ > struct result_
  18.     {
  19.         typedef typename V_::item0 type;
  20.     };
  21. };
  22.  
  23. }
  24.  
  25. template<>
  26. struct at_impl< aux::vector_tag<0> >
  27. {
  28.     template< typename V_, typename N > struct apply
  29.     {
  30.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  31.             ::template result_<V_>::type type;
  32.     };
  33. };
  34.  
  35. template<>
  36. struct size_impl< aux::vector_tag<0> >
  37. {
  38.     template< typename Vector > struct apply
  39.         : long_<0>
  40.     {
  41.     };
  42. };
  43.  
  44. template<>
  45. struct O1_size_impl< aux::vector_tag<0> >
  46.     : size_impl< aux::vector_tag<0> >
  47. {
  48. };
  49.  
  50. template<>
  51. struct clear_impl< aux::vector_tag<0> >
  52. {
  53.     template< typename Vector > struct apply
  54.     {
  55.         typedef vector0<> type;
  56.     };
  57. };
  58.  
  59. template<
  60.       typename T0
  61.     >
  62. struct vector1
  63. {
  64.     typedef aux::vector_tag<1> tag;
  65.     typedef vector1 type;
  66.     typedef T0 item0;
  67.     typedef void_ item1;
  68.     typedef T0 back;
  69.     typedef v_iter< type,0 > begin;
  70.     typedef v_iter< type,1 > end;
  71. };
  72.  
  73. template<>
  74. struct push_front_impl< aux::vector_tag<0> >
  75. {
  76.     template< typename Vector, typename T > struct apply
  77.     {
  78.         typedef vector1<
  79.               T
  80.             > type;
  81.     };
  82. };
  83.  
  84. template<>
  85. struct pop_front_impl< aux::vector_tag<1> >
  86. {
  87.     template< typename Vector > struct apply
  88.     {
  89.         typedef vector0<
  90.              
  91.             > type;
  92.     };
  93. };
  94.  
  95. template<>
  96. struct push_back_impl< aux::vector_tag<0> >
  97. {
  98.     template< typename Vector, typename T > struct apply
  99.     {
  100.         typedef vector1<
  101.              
  102.               T
  103.             > type;
  104.     };
  105. };
  106.  
  107. template<>
  108. struct pop_back_impl< aux::vector_tag<1> >
  109. {
  110.     template< typename Vector > struct apply
  111.     {
  112.         typedef vector0<
  113.              
  114.             > type;
  115.     };
  116. };
  117.  
  118. namespace aux {
  119. template<> struct v_at_impl<1>
  120. {
  121.     template< typename V_ > struct result_
  122.     {
  123.         typedef typename V_::item1 type;
  124.     };
  125. };
  126.  
  127. }
  128.  
  129. template<>
  130. struct at_impl< aux::vector_tag<1> >
  131. {
  132.     template< typename V_, typename N > struct apply
  133.     {
  134.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  135.             ::template result_<V_>::type type;
  136.     };
  137. };
  138.  
  139. template<>
  140. struct front_impl< aux::vector_tag<1> >
  141. {
  142.     template< typename Vector > struct apply
  143.     {
  144.         typedef typename Vector::item0 type;
  145.     };
  146. };
  147.  
  148. template<>
  149. struct back_impl< aux::vector_tag<1> >
  150. {
  151.     template< typename Vector > struct apply
  152.     {
  153.         typedef typename Vector::back type;
  154.     };
  155. };
  156.  
  157. template<>
  158. struct empty_impl< aux::vector_tag<1> >
  159. {
  160.     template< typename Vector > struct apply
  161.         : false_
  162.     {
  163.     };
  164. };
  165.  
  166. template<>
  167. struct size_impl< aux::vector_tag<1> >
  168. {
  169.     template< typename Vector > struct apply
  170.         : long_<1>
  171.     {
  172.     };
  173. };
  174.  
  175. template<>
  176. struct O1_size_impl< aux::vector_tag<1> >
  177.     : size_impl< aux::vector_tag<1> >
  178. {
  179. };
  180.  
  181. template<>
  182. struct clear_impl< aux::vector_tag<1> >
  183. {
  184.     template< typename Vector > struct apply
  185.     {
  186.         typedef vector0<> type;
  187.     };
  188. };
  189.  
  190. template<
  191.       typename T0, typename T1
  192.     >
  193. struct vector2
  194. {
  195.     typedef aux::vector_tag<2> tag;
  196.     typedef vector2 type;
  197.     typedef T0 item0;
  198.     typedef T1 item1;
  199.    
  200.  
  201.     typedef void_ item2;
  202.     typedef T1 back;
  203.     typedef v_iter< type,0 > begin;
  204.     typedef v_iter< type,2 > end;
  205. };
  206.  
  207. template<>
  208. struct push_front_impl< aux::vector_tag<1> >
  209. {
  210.     template< typename Vector, typename T > struct apply
  211.     {
  212.         typedef vector2<
  213.               T
  214.               ,
  215.               typename Vector::item0
  216.             > type;
  217.     };
  218. };
  219.  
  220. template<>
  221. struct pop_front_impl< aux::vector_tag<2> >
  222. {
  223.     template< typename Vector > struct apply
  224.     {
  225.         typedef vector1<
  226.               typename Vector::item1
  227.             > type;
  228.     };
  229. };
  230.  
  231. template<>
  232. struct push_back_impl< aux::vector_tag<1> >
  233. {
  234.     template< typename Vector, typename T > struct apply
  235.     {
  236.         typedef vector2<
  237.               typename Vector::item0
  238.               ,
  239.               T
  240.             > type;
  241.     };
  242. };
  243.  
  244. template<>
  245. struct pop_back_impl< aux::vector_tag<2> >
  246. {
  247.     template< typename Vector > struct apply
  248.     {
  249.         typedef vector1<
  250.               typename Vector::item0
  251.             > type;
  252.     };
  253. };
  254.  
  255. namespace aux {
  256. template<> struct v_at_impl<2>
  257. {
  258.     template< typename V_ > struct result_
  259.     {
  260.         typedef typename V_::item2 type;
  261.     };
  262. };
  263.  
  264. }
  265.  
  266. template<>
  267. struct at_impl< aux::vector_tag<2> >
  268. {
  269.     template< typename V_, typename N > struct apply
  270.     {
  271.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  272.             ::template result_<V_>::type type;
  273.     };
  274. };
  275.  
  276. template<>
  277. struct front_impl< aux::vector_tag<2> >
  278. {
  279.     template< typename Vector > struct apply
  280.     {
  281.         typedef typename Vector::item0 type;
  282.     };
  283. };
  284.  
  285. template<>
  286. struct back_impl< aux::vector_tag<2> >
  287. {
  288.     template< typename Vector > struct apply
  289.     {
  290.         typedef typename Vector::back type;
  291.     };
  292. };
  293.  
  294. template<>
  295. struct empty_impl< aux::vector_tag<2> >
  296. {
  297.     template< typename Vector > struct apply
  298.         : false_
  299.     {
  300.     };
  301. };
  302.  
  303. template<>
  304. struct size_impl< aux::vector_tag<2> >
  305. {
  306.     template< typename Vector > struct apply
  307.         : long_<2>
  308.     {
  309.     };
  310. };
  311.  
  312. template<>
  313. struct O1_size_impl< aux::vector_tag<2> >
  314.     : size_impl< aux::vector_tag<2> >
  315. {
  316. };
  317.  
  318. template<>
  319. struct clear_impl< aux::vector_tag<2> >
  320. {
  321.     template< typename Vector > struct apply
  322.     {
  323.         typedef vector0<> type;
  324.     };
  325. };
  326.  
  327. template<
  328.       typename T0, typename T1, typename T2
  329.     >
  330. struct vector3
  331. {
  332.     typedef aux::vector_tag<3> tag;
  333.     typedef vector3 type;
  334.     typedef T0 item0;
  335.     typedef T1 item1;
  336.     typedef T2 item2;
  337.    
  338.  
  339.     typedef void_ item3;
  340.     typedef T2 back;
  341.     typedef v_iter< type,0 > begin;
  342.     typedef v_iter< type,3 > end;
  343. };
  344.  
  345. template<>
  346. struct push_front_impl< aux::vector_tag<2> >
  347. {
  348.     template< typename Vector, typename T > struct apply
  349.     {
  350.         typedef vector3<
  351.               T
  352.               ,
  353.               typename Vector::item0, typename Vector::item1
  354.             > type;
  355.     };
  356. };
  357.  
  358. template<>
  359. struct pop_front_impl< aux::vector_tag<3> >
  360. {
  361.     template< typename Vector > struct apply
  362.     {
  363.         typedef vector2<
  364.               typename Vector::item1, typename Vector::item2
  365.             > type;
  366.     };
  367. };
  368.  
  369. template<>
  370. struct push_back_impl< aux::vector_tag<2> >
  371. {
  372.     template< typename Vector, typename T > struct apply
  373.     {
  374.         typedef vector3<
  375.               typename Vector::item0, typename Vector::item1
  376.               ,
  377.               T
  378.             > type;
  379.     };
  380. };
  381.  
  382. template<>
  383. struct pop_back_impl< aux::vector_tag<3> >
  384. {
  385.     template< typename Vector > struct apply
  386.     {
  387.         typedef vector2<
  388.               typename Vector::item0, typename Vector::item1
  389.             > type;
  390.     };
  391. };
  392.  
  393. namespace aux {
  394. template<> struct v_at_impl<3>
  395. {
  396.     template< typename V_ > struct result_
  397.     {
  398.         typedef typename V_::item3 type;
  399.     };
  400. };
  401.  
  402. }
  403.  
  404. template<>
  405. struct at_impl< aux::vector_tag<3> >
  406. {
  407.     template< typename V_, typename N > struct apply
  408.     {
  409.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  410.             ::template result_<V_>::type type;
  411.     };
  412. };
  413.  
  414. template<>
  415. struct front_impl< aux::vector_tag<3> >
  416. {
  417.     template< typename Vector > struct apply
  418.     {
  419.         typedef typename Vector::item0 type;
  420.     };
  421. };
  422.  
  423. template<>
  424. struct back_impl< aux::vector_tag<3> >
  425. {
  426.     template< typename Vector > struct apply
  427.     {
  428.         typedef typename Vector::back type;
  429.     };
  430. };
  431.  
  432. template<>
  433. struct empty_impl< aux::vector_tag<3> >
  434. {
  435.     template< typename Vector > struct apply
  436.         : false_
  437.     {
  438.     };
  439. };
  440.  
  441. template<>
  442. struct size_impl< aux::vector_tag<3> >
  443. {
  444.     template< typename Vector > struct apply
  445.         : long_<3>
  446.     {
  447.     };
  448. };
  449.  
  450. template<>
  451. struct O1_size_impl< aux::vector_tag<3> >
  452.     : size_impl< aux::vector_tag<3> >
  453. {
  454. };
  455.  
  456. template<>
  457. struct clear_impl< aux::vector_tag<3> >
  458. {
  459.     template< typename Vector > struct apply
  460.     {
  461.         typedef vector0<> type;
  462.     };
  463. };
  464.  
  465. template<
  466.       typename T0, typename T1, typename T2, typename T3
  467.     >
  468. struct vector4
  469. {
  470.     typedef aux::vector_tag<4> tag;
  471.     typedef vector4 type;
  472.     typedef T0 item0;
  473.     typedef T1 item1;
  474.     typedef T2 item2;
  475.     typedef T3 item3;
  476.    
  477.  
  478.     typedef void_ item4;
  479.     typedef T3 back;
  480.     typedef v_iter< type,0 > begin;
  481.     typedef v_iter< type,4 > end;
  482. };
  483.  
  484. template<>
  485. struct push_front_impl< aux::vector_tag<3> >
  486. {
  487.     template< typename Vector, typename T > struct apply
  488.     {
  489.         typedef vector4<
  490.               T
  491.               ,
  492.               typename Vector::item0, typename Vector::item1
  493.             , typename Vector::item2
  494.             > type;
  495.     };
  496. };
  497.  
  498. template<>
  499. struct pop_front_impl< aux::vector_tag<4> >
  500. {
  501.     template< typename Vector > struct apply
  502.     {
  503.         typedef vector3<
  504.               typename Vector::item1, typename Vector::item2
  505.             , typename Vector::item3
  506.             > type;
  507.     };
  508. };
  509.  
  510. template<>
  511. struct push_back_impl< aux::vector_tag<3> >
  512. {
  513.     template< typename Vector, typename T > struct apply
  514.     {
  515.         typedef vector4<
  516.               typename Vector::item0, typename Vector::item1
  517.             , typename Vector::item2
  518.               ,
  519.               T
  520.             > type;
  521.     };
  522. };
  523.  
  524. template<>
  525. struct pop_back_impl< aux::vector_tag<4> >
  526. {
  527.     template< typename Vector > struct apply
  528.     {
  529.         typedef vector3<
  530.               typename Vector::item0, typename Vector::item1
  531.             , typename Vector::item2
  532.             > type;
  533.     };
  534. };
  535.  
  536. namespace aux {
  537. template<> struct v_at_impl<4>
  538. {
  539.     template< typename V_ > struct result_
  540.     {
  541.         typedef typename V_::item4 type;
  542.     };
  543. };
  544.  
  545. }
  546.  
  547. template<>
  548. struct at_impl< aux::vector_tag<4> >
  549. {
  550.     template< typename V_, typename N > struct apply
  551.     {
  552.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  553.             ::template result_<V_>::type type;
  554.     };
  555. };
  556.  
  557. template<>
  558. struct front_impl< aux::vector_tag<4> >
  559. {
  560.     template< typename Vector > struct apply
  561.     {
  562.         typedef typename Vector::item0 type;
  563.     };
  564. };
  565.  
  566. template<>
  567. struct back_impl< aux::vector_tag<4> >
  568. {
  569.     template< typename Vector > struct apply
  570.     {
  571.         typedef typename Vector::back type;
  572.     };
  573. };
  574.  
  575. template<>
  576. struct empty_impl< aux::vector_tag<4> >
  577. {
  578.     template< typename Vector > struct apply
  579.         : false_
  580.     {
  581.     };
  582. };
  583.  
  584. template<>
  585. struct size_impl< aux::vector_tag<4> >
  586. {
  587.     template< typename Vector > struct apply
  588.         : long_<4>
  589.     {
  590.     };
  591. };
  592.  
  593. template<>
  594. struct O1_size_impl< aux::vector_tag<4> >
  595.     : size_impl< aux::vector_tag<4> >
  596. {
  597. };
  598.  
  599. template<>
  600. struct clear_impl< aux::vector_tag<4> >
  601. {
  602.     template< typename Vector > struct apply
  603.     {
  604.         typedef vector0<> type;
  605.     };
  606. };
  607.  
  608. template<
  609.       typename T0, typename T1, typename T2, typename T3, typename T4
  610.     >
  611. struct vector5
  612. {
  613.     typedef aux::vector_tag<5> tag;
  614.     typedef vector5 type;
  615.     typedef T0 item0;
  616.     typedef T1 item1;
  617.     typedef T2 item2;
  618.     typedef T3 item3;
  619.     typedef T4 item4;
  620.    
  621.  
  622.     typedef void_ item5;
  623.     typedef T4 back;
  624.     typedef v_iter< type,0 > begin;
  625.     typedef v_iter< type,5 > end;
  626. };
  627.  
  628. template<>
  629. struct push_front_impl< aux::vector_tag<4> >
  630. {
  631.     template< typename Vector, typename T > struct apply
  632.     {
  633.         typedef vector5<
  634.               T
  635.               ,
  636.               typename Vector::item0, typename Vector::item1
  637.             , typename Vector::item2, typename Vector::item3
  638.             > type;
  639.     };
  640. };
  641.  
  642. template<>
  643. struct pop_front_impl< aux::vector_tag<5> >
  644. {
  645.     template< typename Vector > struct apply
  646.     {
  647.         typedef vector4<
  648.               typename Vector::item1, typename Vector::item2
  649.             , typename Vector::item3, typename Vector::item4
  650.             > type;
  651.     };
  652. };
  653.  
  654. template<>
  655. struct push_back_impl< aux::vector_tag<4> >
  656. {
  657.     template< typename Vector, typename T > struct apply
  658.     {
  659.         typedef vector5<
  660.               typename Vector::item0, typename Vector::item1
  661.             , typename Vector::item2, typename Vector::item3
  662.               ,
  663.               T
  664.             > type;
  665.     };
  666. };
  667.  
  668. template<>
  669. struct pop_back_impl< aux::vector_tag<5> >
  670. {
  671.     template< typename Vector > struct apply
  672.     {
  673.         typedef vector4<
  674.               typename Vector::item0, typename Vector::item1
  675.             , typename Vector::item2, typename Vector::item3
  676.             > type;
  677.     };
  678. };
  679.  
  680. namespace aux {
  681. template<> struct v_at_impl<5>
  682. {
  683.     template< typename V_ > struct result_
  684.     {
  685.         typedef typename V_::item5 type;
  686.     };
  687. };
  688.  
  689. }
  690.  
  691. template<>
  692. struct at_impl< aux::vector_tag<5> >
  693. {
  694.     template< typename V_, typename N > struct apply
  695.     {
  696.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  697.             ::template result_<V_>::type type;
  698.     };
  699. };
  700.  
  701. template<>
  702. struct front_impl< aux::vector_tag<5> >
  703. {
  704.     template< typename Vector > struct apply
  705.     {
  706.         typedef typename Vector::item0 type;
  707.     };
  708. };
  709.  
  710. template<>
  711. struct back_impl< aux::vector_tag<5> >
  712. {
  713.     template< typename Vector > struct apply
  714.     {
  715.         typedef typename Vector::back type;
  716.     };
  717. };
  718.  
  719. template<>
  720. struct empty_impl< aux::vector_tag<5> >
  721. {
  722.     template< typename Vector > struct apply
  723.         : false_
  724.     {
  725.     };
  726. };
  727.  
  728. template<>
  729. struct size_impl< aux::vector_tag<5> >
  730. {
  731.     template< typename Vector > struct apply
  732.         : long_<5>
  733.     {
  734.     };
  735. };
  736.  
  737. template<>
  738. struct O1_size_impl< aux::vector_tag<5> >
  739.     : size_impl< aux::vector_tag<5> >
  740. {
  741. };
  742.  
  743. template<>
  744. struct clear_impl< aux::vector_tag<5> >
  745. {
  746.     template< typename Vector > struct apply
  747.     {
  748.         typedef vector0<> type;
  749.     };
  750. };
  751.  
  752. template<
  753.       typename T0, typename T1, typename T2, typename T3, typename T4
  754.     , typename T5
  755.     >
  756. struct vector6
  757. {
  758.     typedef aux::vector_tag<6> tag;
  759.     typedef vector6 type;
  760.     typedef T0 item0;
  761.     typedef T1 item1;
  762.     typedef T2 item2;
  763.     typedef T3 item3;
  764.     typedef T4 item4;
  765.     typedef T5 item5;
  766.    
  767.  
  768.     typedef void_ item6;
  769.     typedef T5 back;
  770.     typedef v_iter< type,0 > begin;
  771.     typedef v_iter< type,6 > end;
  772. };
  773.  
  774. template<>
  775. struct push_front_impl< aux::vector_tag<5> >
  776. {
  777.     template< typename Vector, typename T > struct apply
  778.     {
  779.         typedef vector6<
  780.               T
  781.               ,
  782.               typename Vector::item0, typename Vector::item1
  783.             , typename Vector::item2, typename Vector::item3
  784.             , typename Vector::item4
  785.             > type;
  786.     };
  787. };
  788.  
  789. template<>
  790. struct pop_front_impl< aux::vector_tag<6> >
  791. {
  792.     template< typename Vector > struct apply
  793.     {
  794.         typedef vector5<
  795.               typename Vector::item1, typename Vector::item2
  796.             , typename Vector::item3, typename Vector::item4
  797.             , typename Vector::item5
  798.             > type;
  799.     };
  800. };
  801.  
  802. template<>
  803. struct push_back_impl< aux::vector_tag<5> >
  804. {
  805.     template< typename Vector, typename T > struct apply
  806.     {
  807.         typedef vector6<
  808.               typename Vector::item0, typename Vector::item1
  809.             , typename Vector::item2, typename Vector::item3
  810.             , typename Vector::item4
  811.               ,
  812.               T
  813.             > type;
  814.     };
  815. };
  816.  
  817. template<>
  818. struct pop_back_impl< aux::vector_tag<6> >
  819. {
  820.     template< typename Vector > struct apply
  821.     {
  822.         typedef vector5<
  823.               typename Vector::item0, typename Vector::item1
  824.             , typename Vector::item2, typename Vector::item3
  825.             , typename Vector::item4
  826.             > type;
  827.     };
  828. };
  829.  
  830. namespace aux {
  831. template<> struct v_at_impl<6>
  832. {
  833.     template< typename V_ > struct result_
  834.     {
  835.         typedef typename V_::item6 type;
  836.     };
  837. };
  838.  
  839. }
  840.  
  841. template<>
  842. struct at_impl< aux::vector_tag<6> >
  843. {
  844.     template< typename V_, typename N > struct apply
  845.     {
  846.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  847.             ::template result_<V_>::type type;
  848.     };
  849. };
  850.  
  851. template<>
  852. struct front_impl< aux::vector_tag<6> >
  853. {
  854.     template< typename Vector > struct apply
  855.     {
  856.         typedef typename Vector::item0 type;
  857.     };
  858. };
  859.  
  860. template<>
  861. struct back_impl< aux::vector_tag<6> >
  862. {
  863.     template< typename Vector > struct apply
  864.     {
  865.         typedef typename Vector::back type;
  866.     };
  867. };
  868.  
  869. template<>
  870. struct empty_impl< aux::vector_tag<6> >
  871. {
  872.     template< typename Vector > struct apply
  873.         : false_
  874.     {
  875.     };
  876. };
  877.  
  878. template<>
  879. struct size_impl< aux::vector_tag<6> >
  880. {
  881.     template< typename Vector > struct apply
  882.         : long_<6>
  883.     {
  884.     };
  885. };
  886.  
  887. template<>
  888. struct O1_size_impl< aux::vector_tag<6> >
  889.     : size_impl< aux::vector_tag<6> >
  890. {
  891. };
  892.  
  893. template<>
  894. struct clear_impl< aux::vector_tag<6> >
  895. {
  896.     template< typename Vector > struct apply
  897.     {
  898.         typedef vector0<> type;
  899.     };
  900. };
  901.  
  902. template<
  903.       typename T0, typename T1, typename T2, typename T3, typename T4
  904.     , typename T5, typename T6
  905.     >
  906. struct vector7
  907. {
  908.     typedef aux::vector_tag<7> tag;
  909.     typedef vector7 type;
  910.     typedef T0 item0;
  911.     typedef T1 item1;
  912.     typedef T2 item2;
  913.     typedef T3 item3;
  914.     typedef T4 item4;
  915.     typedef T5 item5;
  916.     typedef T6 item6;
  917.    
  918.  
  919.     typedef void_ item7;
  920.     typedef T6 back;
  921.     typedef v_iter< type,0 > begin;
  922.     typedef v_iter< type,7 > end;
  923. };
  924.  
  925. template<>
  926. struct push_front_impl< aux::vector_tag<6> >
  927. {
  928.     template< typename Vector, typename T > struct apply
  929.     {
  930.         typedef vector7<
  931.               T
  932.               ,
  933.               typename Vector::item0, typename Vector::item1
  934.             , typename Vector::item2, typename Vector::item3
  935.             , typename Vector::item4, typename Vector::item5
  936.             > type;
  937.     };
  938. };
  939.  
  940. template<>
  941. struct pop_front_impl< aux::vector_tag<7> >
  942. {
  943.     template< typename Vector > struct apply
  944.     {
  945.         typedef vector6<
  946.               typename Vector::item1, typename Vector::item2
  947.             , typename Vector::item3, typename Vector::item4
  948.             , typename Vector::item5, typename Vector::item6
  949.             > type;
  950.     };
  951. };
  952.  
  953. template<>
  954. struct push_back_impl< aux::vector_tag<6> >
  955. {
  956.     template< typename Vector, typename T > struct apply
  957.     {
  958.         typedef vector7<
  959.               typename Vector::item0, typename Vector::item1
  960.             , typename Vector::item2, typename Vector::item3
  961.             , typename Vector::item4, typename Vector::item5
  962.               ,
  963.               T
  964.             > type;
  965.     };
  966. };
  967.  
  968. template<>
  969. struct pop_back_impl< aux::vector_tag<7> >
  970. {
  971.     template< typename Vector > struct apply
  972.     {
  973.         typedef vector6<
  974.               typename Vector::item0, typename Vector::item1
  975.             , typename Vector::item2, typename Vector::item3
  976.             , typename Vector::item4, typename Vector::item5
  977.             > type;
  978.     };
  979. };
  980.  
  981. namespace aux {
  982. template<> struct v_at_impl<7>
  983. {
  984.     template< typename V_ > struct result_
  985.     {
  986.         typedef typename V_::item7 type;
  987.     };
  988. };
  989.  
  990. }
  991.  
  992. template<>
  993. struct at_impl< aux::vector_tag<7> >
  994. {
  995.     template< typename V_, typename N > struct apply
  996.     {
  997.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  998.             ::template result_<V_>::type type;
  999.     };
  1000. };
  1001.  
  1002. template<>
  1003. struct front_impl< aux::vector_tag<7> >
  1004. {
  1005.     template< typename Vector > struct apply
  1006.     {
  1007.         typedef typename Vector::item0 type;
  1008.     };
  1009. };
  1010.  
  1011. template<>
  1012. struct back_impl< aux::vector_tag<7> >
  1013. {
  1014.     template< typename Vector > struct apply
  1015.     {
  1016.         typedef typename Vector::back type;
  1017.     };
  1018. };
  1019.  
  1020. template<>
  1021. struct empty_impl< aux::vector_tag<7> >
  1022. {
  1023.     template< typename Vector > struct apply
  1024.         : false_
  1025.     {
  1026.     };
  1027. };
  1028.  
  1029. template<>
  1030. struct size_impl< aux::vector_tag<7> >
  1031. {
  1032.     template< typename Vector > struct apply
  1033.         : long_<7>
  1034.     {
  1035.     };
  1036. };
  1037.  
  1038. template<>
  1039. struct O1_size_impl< aux::vector_tag<7> >
  1040.     : size_impl< aux::vector_tag<7> >
  1041. {
  1042. };
  1043.  
  1044. template<>
  1045. struct clear_impl< aux::vector_tag<7> >
  1046. {
  1047.     template< typename Vector > struct apply
  1048.     {
  1049.         typedef vector0<> type;
  1050.     };
  1051. };
  1052.  
  1053. template<
  1054.       typename T0, typename T1, typename T2, typename T3, typename T4
  1055.     , typename T5, typename T6, typename T7
  1056.     >
  1057. struct vector8
  1058. {
  1059.     typedef aux::vector_tag<8> tag;
  1060.     typedef vector8 type;
  1061.     typedef T0 item0;
  1062.     typedef T1 item1;
  1063.     typedef T2 item2;
  1064.     typedef T3 item3;
  1065.     typedef T4 item4;
  1066.     typedef T5 item5;
  1067.     typedef T6 item6;
  1068.     typedef T7 item7;
  1069.    
  1070.  
  1071.     typedef void_ item8;
  1072.     typedef T7 back;
  1073.     typedef v_iter< type,0 > begin;
  1074.     typedef v_iter< type,8 > end;
  1075. };
  1076.  
  1077. template<>
  1078. struct push_front_impl< aux::vector_tag<7> >
  1079. {
  1080.     template< typename Vector, typename T > struct apply
  1081.     {
  1082.         typedef vector8<
  1083.               T
  1084.               ,
  1085.               typename Vector::item0, typename Vector::item1
  1086.             , typename Vector::item2, typename Vector::item3
  1087.             , typename Vector::item4, typename Vector::item5
  1088.             , typename Vector::item6
  1089.             > type;
  1090.     };
  1091. };
  1092.  
  1093. template<>
  1094. struct pop_front_impl< aux::vector_tag<8> >
  1095. {
  1096.     template< typename Vector > struct apply
  1097.     {
  1098.         typedef vector7<
  1099.               typename Vector::item1, typename Vector::item2
  1100.             , typename Vector::item3, typename Vector::item4
  1101.             , typename Vector::item5, typename Vector::item6
  1102.             , typename Vector::item7
  1103.             > type;
  1104.     };
  1105. };
  1106.  
  1107. template<>
  1108. struct push_back_impl< aux::vector_tag<7> >
  1109. {
  1110.     template< typename Vector, typename T > struct apply
  1111.     {
  1112.         typedef vector8<
  1113.               typename Vector::item0, typename Vector::item1
  1114.             , typename Vector::item2, typename Vector::item3
  1115.             , typename Vector::item4, typename Vector::item5
  1116.             , typename Vector::item6
  1117.               ,
  1118.               T
  1119.             > type;
  1120.     };
  1121. };
  1122.  
  1123. template<>
  1124. struct pop_back_impl< aux::vector_tag<8> >
  1125. {
  1126.     template< typename Vector > struct apply
  1127.     {
  1128.         typedef vector7<
  1129.               typename Vector::item0, typename Vector::item1
  1130.             , typename Vector::item2, typename Vector::item3
  1131.             , typename Vector::item4, typename Vector::item5
  1132.             , typename Vector::item6
  1133.             > type;
  1134.     };
  1135. };
  1136.  
  1137. namespace aux {
  1138. template<> struct v_at_impl<8>
  1139. {
  1140.     template< typename V_ > struct result_
  1141.     {
  1142.         typedef typename V_::item8 type;
  1143.     };
  1144. };
  1145.  
  1146. }
  1147.  
  1148. template<>
  1149. struct at_impl< aux::vector_tag<8> >
  1150. {
  1151.     template< typename V_, typename N > struct apply
  1152.     {
  1153.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1154.             ::template result_<V_>::type type;
  1155.     };
  1156. };
  1157.  
  1158. template<>
  1159. struct front_impl< aux::vector_tag<8> >
  1160. {
  1161.     template< typename Vector > struct apply
  1162.     {
  1163.         typedef typename Vector::item0 type;
  1164.     };
  1165. };
  1166.  
  1167. template<>
  1168. struct back_impl< aux::vector_tag<8> >
  1169. {
  1170.     template< typename Vector > struct apply
  1171.     {
  1172.         typedef typename Vector::back type;
  1173.     };
  1174. };
  1175.  
  1176. template<>
  1177. struct empty_impl< aux::vector_tag<8> >
  1178. {
  1179.     template< typename Vector > struct apply
  1180.         : false_
  1181.     {
  1182.     };
  1183. };
  1184.  
  1185. template<>
  1186. struct size_impl< aux::vector_tag<8> >
  1187. {
  1188.     template< typename Vector > struct apply
  1189.         : long_<8>
  1190.     {
  1191.     };
  1192. };
  1193.  
  1194. template<>
  1195. struct O1_size_impl< aux::vector_tag<8> >
  1196.     : size_impl< aux::vector_tag<8> >
  1197. {
  1198. };
  1199.  
  1200. template<>
  1201. struct clear_impl< aux::vector_tag<8> >
  1202. {
  1203.     template< typename Vector > struct apply
  1204.     {
  1205.         typedef vector0<> type;
  1206.     };
  1207. };
  1208.  
  1209. template<
  1210.       typename T0, typename T1, typename T2, typename T3, typename T4
  1211.     , typename T5, typename T6, typename T7, typename T8
  1212.     >
  1213. struct vector9
  1214. {
  1215.     typedef aux::vector_tag<9> tag;
  1216.     typedef vector9 type;
  1217.     typedef T0 item0;
  1218.     typedef T1 item1;
  1219.     typedef T2 item2;
  1220.     typedef T3 item3;
  1221.     typedef T4 item4;
  1222.     typedef T5 item5;
  1223.     typedef T6 item6;
  1224.     typedef T7 item7;
  1225.     typedef T8 item8;
  1226.    
  1227.  
  1228.     typedef void_ item9;
  1229.     typedef T8 back;
  1230.     typedef v_iter< type,0 > begin;
  1231.     typedef v_iter< type,9 > end;
  1232. };
  1233.  
  1234. template<>
  1235. struct push_front_impl< aux::vector_tag<8> >
  1236. {
  1237.     template< typename Vector, typename T > struct apply
  1238.     {
  1239.         typedef vector9<
  1240.               T
  1241.               ,
  1242.               typename Vector::item0, typename Vector::item1
  1243.             , typename Vector::item2, typename Vector::item3
  1244.             , typename Vector::item4, typename Vector::item5
  1245.             , typename Vector::item6, typename Vector::item7
  1246.             > type;
  1247.     };
  1248. };
  1249.  
  1250. template<>
  1251. struct pop_front_impl< aux::vector_tag<9> >
  1252. {
  1253.     template< typename Vector > struct apply
  1254.     {
  1255.         typedef vector8<
  1256.               typename Vector::item1, typename Vector::item2
  1257.             , typename Vector::item3, typename Vector::item4
  1258.             , typename Vector::item5, typename Vector::item6
  1259.             , typename Vector::item7, typename Vector::item8
  1260.             > type;
  1261.     };
  1262. };
  1263.  
  1264. template<>
  1265. struct push_back_impl< aux::vector_tag<8> >
  1266. {
  1267.     template< typename Vector, typename T > struct apply
  1268.     {
  1269.         typedef vector9<
  1270.               typename Vector::item0, typename Vector::item1
  1271.             , typename Vector::item2, typename Vector::item3
  1272.             , typename Vector::item4, typename Vector::item5
  1273.             , typename Vector::item6, typename Vector::item7
  1274.               ,
  1275.               T
  1276.             > type;
  1277.     };
  1278. };
  1279.  
  1280. template<>
  1281. struct pop_back_impl< aux::vector_tag<9> >
  1282. {
  1283.     template< typename Vector > struct apply
  1284.     {
  1285.         typedef vector8<
  1286.               typename Vector::item0, typename Vector::item1
  1287.             , typename Vector::item2, typename Vector::item3
  1288.             , typename Vector::item4, typename Vector::item5
  1289.             , typename Vector::item6, typename Vector::item7
  1290.             > type;
  1291.     };
  1292. };
  1293.  
  1294. namespace aux {
  1295. template<> struct v_at_impl<9>
  1296. {
  1297.     template< typename V_ > struct result_
  1298.     {
  1299.         typedef typename V_::item9 type;
  1300.     };
  1301. };
  1302.  
  1303. }
  1304.  
  1305. template<>
  1306. struct at_impl< aux::vector_tag<9> >
  1307. {
  1308.     template< typename V_, typename N > struct apply
  1309.     {
  1310.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1311.             ::template result_<V_>::type type;
  1312.     };
  1313. };
  1314.  
  1315. template<>
  1316. struct front_impl< aux::vector_tag<9> >
  1317. {
  1318.     template< typename Vector > struct apply
  1319.     {
  1320.         typedef typename Vector::item0 type;
  1321.     };
  1322. };
  1323.  
  1324. template<>
  1325. struct back_impl< aux::vector_tag<9> >
  1326. {
  1327.     template< typename Vector > struct apply
  1328.     {
  1329.         typedef typename Vector::back type;
  1330.     };
  1331. };
  1332.  
  1333. template<>
  1334. struct empty_impl< aux::vector_tag<9> >
  1335. {
  1336.     template< typename Vector > struct apply
  1337.         : false_
  1338.     {
  1339.     };
  1340. };
  1341.  
  1342. template<>
  1343. struct size_impl< aux::vector_tag<9> >
  1344. {
  1345.     template< typename Vector > struct apply
  1346.         : long_<9>
  1347.     {
  1348.     };
  1349. };
  1350.  
  1351. template<>
  1352. struct O1_size_impl< aux::vector_tag<9> >
  1353.     : size_impl< aux::vector_tag<9> >
  1354. {
  1355. };
  1356.  
  1357. template<>
  1358. struct clear_impl< aux::vector_tag<9> >
  1359. {
  1360.     template< typename Vector > struct apply
  1361.     {
  1362.         typedef vector0<> type;
  1363.     };
  1364. };
  1365.  
  1366. template<
  1367.       typename T0, typename T1, typename T2, typename T3, typename T4
  1368.     , typename T5, typename T6, typename T7, typename T8, typename T9
  1369.     >
  1370. struct vector10
  1371. {
  1372.     typedef aux::vector_tag<10> tag;
  1373.     typedef vector10 type;
  1374.     typedef T0 item0;
  1375.     typedef T1 item1;
  1376.     typedef T2 item2;
  1377.     typedef T3 item3;
  1378.     typedef T4 item4;
  1379.     typedef T5 item5;
  1380.     typedef T6 item6;
  1381.     typedef T7 item7;
  1382.     typedef T8 item8;
  1383.     typedef T9 item9;
  1384.    
  1385.  
  1386.     typedef void_ item10;
  1387.     typedef T9 back;
  1388.     typedef v_iter< type,0 > begin;
  1389.     typedef v_iter< type,10 > end;
  1390. };
  1391.  
  1392. template<>
  1393. struct push_front_impl< aux::vector_tag<9> >
  1394. {
  1395.     template< typename Vector, typename T > struct apply
  1396.     {
  1397.         typedef vector10<
  1398.               T
  1399.               ,
  1400.               typename Vector::item0, typename Vector::item1
  1401.             , typename Vector::item2, typename Vector::item3
  1402.             , typename Vector::item4, typename Vector::item5
  1403.             , typename Vector::item6, typename Vector::item7
  1404.             , typename Vector::item8
  1405.             > type;
  1406.     };
  1407. };
  1408.  
  1409. template<>
  1410. struct pop_front_impl< aux::vector_tag<10> >
  1411. {
  1412.     template< typename Vector > struct apply
  1413.     {
  1414.         typedef vector9<
  1415.               typename Vector::item1, typename Vector::item2
  1416.             , typename Vector::item3, typename Vector::item4
  1417.             , typename Vector::item5, typename Vector::item6
  1418.             , typename Vector::item7, typename Vector::item8
  1419.             , typename Vector::item9
  1420.             > type;
  1421.     };
  1422. };
  1423.  
  1424. template<>
  1425. struct push_back_impl< aux::vector_tag<9> >
  1426. {
  1427.     template< typename Vector, typename T > struct apply
  1428.     {
  1429.         typedef vector10<
  1430.               typename Vector::item0, typename Vector::item1
  1431.             , typename Vector::item2, typename Vector::item3
  1432.             , typename Vector::item4, typename Vector::item5
  1433.             , typename Vector::item6, typename Vector::item7
  1434.             , typename Vector::item8
  1435.               ,
  1436.               T
  1437.             > type;
  1438.     };
  1439. };
  1440.  
  1441. template<>
  1442. struct pop_back_impl< aux::vector_tag<10> >
  1443. {
  1444.     template< typename Vector > struct apply
  1445.     {
  1446.         typedef vector9<
  1447.               typename Vector::item0, typename Vector::item1
  1448.             , typename Vector::item2, typename Vector::item3
  1449.             , typename Vector::item4, typename Vector::item5
  1450.             , typename Vector::item6, typename Vector::item7
  1451.             , typename Vector::item8
  1452.             > type;
  1453.     };
  1454. };
  1455.  
  1456. namespace aux {
  1457. template<> struct v_at_impl<10>
  1458. {
  1459.     template< typename V_ > struct result_
  1460.     {
  1461.         typedef typename V_::item10 type;
  1462.     };
  1463. };
  1464.  
  1465. }
  1466.  
  1467. template<>
  1468. struct at_impl< aux::vector_tag<10> >
  1469. {
  1470.     template< typename V_, typename N > struct apply
  1471.     {
  1472.         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
  1473.             ::template result_<V_>::type type;
  1474.     };
  1475. };
  1476.  
  1477. template<>
  1478. struct front_impl< aux::vector_tag<10> >
  1479. {
  1480.     template< typename Vector > struct apply
  1481.     {
  1482.         typedef typename Vector::item0 type;
  1483.     };
  1484. };
  1485.  
  1486. template<>
  1487. struct back_impl< aux::vector_tag<10> >
  1488. {
  1489.     template< typename Vector > struct apply
  1490.     {
  1491.         typedef typename Vector::back type;
  1492.     };
  1493. };
  1494.  
  1495. template<>
  1496. struct empty_impl< aux::vector_tag<10> >
  1497. {
  1498.     template< typename Vector > struct apply
  1499.         : false_
  1500.     {
  1501.     };
  1502. };
  1503.  
  1504. template<>
  1505. struct size_impl< aux::vector_tag<10> >
  1506. {
  1507.     template< typename Vector > struct apply
  1508.         : long_<10>
  1509.     {
  1510.     };
  1511. };
  1512.  
  1513. template<>
  1514. struct O1_size_impl< aux::vector_tag<10> >
  1515.     : size_impl< aux::vector_tag<10> >
  1516. {
  1517. };
  1518.  
  1519. template<>
  1520. struct clear_impl< aux::vector_tag<10> >
  1521. {
  1522.     template< typename Vector > struct apply
  1523.     {
  1524.         typedef vector0<> type;
  1525.     };
  1526. };
  1527.  
  1528. }}
  1529.  
downloadvector10.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