BVB Source Codes

mars Show vector.hpp Source code

Return Download mars: download vector.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.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< int N >
  16. struct vector_chooser;
  17.  
  18. }
  19.  
  20. namespace aux {
  21.  
  22. template<>
  23. struct vector_chooser<0>
  24. {
  25.     template<
  26.           typename T0, typename T1, typename T2, typename T3, typename T4
  27.         , typename T5, typename T6, typename T7, typename T8, typename T9
  28.         , typename T10, typename T11, typename T12, typename T13, typename T14
  29.         , typename T15, typename T16, typename T17, typename T18, typename T19
  30.         >
  31.     struct result_
  32.     {
  33.         typedef vector0<
  34.              
  35.             >::type type;
  36.  
  37.     };
  38. };
  39.  
  40. } // namespace aux
  41.  
  42. namespace aux {
  43.  
  44. template<>
  45. struct vector_chooser<1>
  46. {
  47.     template<
  48.           typename T0, typename T1, typename T2, typename T3, typename T4
  49.         , typename T5, typename T6, typename T7, typename T8, typename T9
  50.         , typename T10, typename T11, typename T12, typename T13, typename T14
  51.         , typename T15, typename T16, typename T17, typename T18, typename T19
  52.         >
  53.     struct result_
  54.     {
  55.         typedef typename vector1<
  56.               T0
  57.             >::type type;
  58.  
  59.     };
  60. };
  61.  
  62. } // namespace aux
  63.  
  64. namespace aux {
  65.  
  66. template<>
  67. struct vector_chooser<2>
  68. {
  69.     template<
  70.           typename T0, typename T1, typename T2, typename T3, typename T4
  71.         , typename T5, typename T6, typename T7, typename T8, typename T9
  72.         , typename T10, typename T11, typename T12, typename T13, typename T14
  73.         , typename T15, typename T16, typename T17, typename T18, typename T19
  74.         >
  75.     struct result_
  76.     {
  77.         typedef typename vector2<
  78.               T0, T1
  79.             >::type type;
  80.  
  81.     };
  82. };
  83.  
  84. } // namespace aux
  85.  
  86. namespace aux {
  87.  
  88. template<>
  89. struct vector_chooser<3>
  90. {
  91.     template<
  92.           typename T0, typename T1, typename T2, typename T3, typename T4
  93.         , typename T5, typename T6, typename T7, typename T8, typename T9
  94.         , typename T10, typename T11, typename T12, typename T13, typename T14
  95.         , typename T15, typename T16, typename T17, typename T18, typename T19
  96.         >
  97.     struct result_
  98.     {
  99.         typedef typename vector3<
  100.               T0, T1, T2
  101.             >::type type;
  102.  
  103.     };
  104. };
  105.  
  106. } // namespace aux
  107.  
  108. namespace aux {
  109.  
  110. template<>
  111. struct vector_chooser<4>
  112. {
  113.     template<
  114.           typename T0, typename T1, typename T2, typename T3, typename T4
  115.         , typename T5, typename T6, typename T7, typename T8, typename T9
  116.         , typename T10, typename T11, typename T12, typename T13, typename T14
  117.         , typename T15, typename T16, typename T17, typename T18, typename T19
  118.         >
  119.     struct result_
  120.     {
  121.         typedef typename vector4<
  122.               T0, T1, T2, T3
  123.             >::type type;
  124.  
  125.     };
  126. };
  127.  
  128. } // namespace aux
  129.  
  130. namespace aux {
  131.  
  132. template<>
  133. struct vector_chooser<5>
  134. {
  135.     template<
  136.           typename T0, typename T1, typename T2, typename T3, typename T4
  137.         , typename T5, typename T6, typename T7, typename T8, typename T9
  138.         , typename T10, typename T11, typename T12, typename T13, typename T14
  139.         , typename T15, typename T16, typename T17, typename T18, typename T19
  140.         >
  141.     struct result_
  142.     {
  143.         typedef typename vector5<
  144.               T0, T1, T2, T3, T4
  145.             >::type type;
  146.  
  147.     };
  148. };
  149.  
  150. } // namespace aux
  151.  
  152. namespace aux {
  153.  
  154. template<>
  155. struct vector_chooser<6>
  156. {
  157.     template<
  158.           typename T0, typename T1, typename T2, typename T3, typename T4
  159.         , typename T5, typename T6, typename T7, typename T8, typename T9
  160.         , typename T10, typename T11, typename T12, typename T13, typename T14
  161.         , typename T15, typename T16, typename T17, typename T18, typename T19
  162.         >
  163.     struct result_
  164.     {
  165.         typedef typename vector6<
  166.               T0, T1, T2, T3, T4, T5
  167.             >::type type;
  168.  
  169.     };
  170. };
  171.  
  172. } // namespace aux
  173.  
  174. namespace aux {
  175.  
  176. template<>
  177. struct vector_chooser<7>
  178. {
  179.     template<
  180.           typename T0, typename T1, typename T2, typename T3, typename T4
  181.         , typename T5, typename T6, typename T7, typename T8, typename T9
  182.         , typename T10, typename T11, typename T12, typename T13, typename T14
  183.         , typename T15, typename T16, typename T17, typename T18, typename T19
  184.         >
  185.     struct result_
  186.     {
  187.         typedef typename vector7<
  188.               T0, T1, T2, T3, T4, T5, T6
  189.             >::type type;
  190.  
  191.     };
  192. };
  193.  
  194. } // namespace aux
  195.  
  196. namespace aux {
  197.  
  198. template<>
  199. struct vector_chooser<8>
  200. {
  201.     template<
  202.           typename T0, typename T1, typename T2, typename T3, typename T4
  203.         , typename T5, typename T6, typename T7, typename T8, typename T9
  204.         , typename T10, typename T11, typename T12, typename T13, typename T14
  205.         , typename T15, typename T16, typename T17, typename T18, typename T19
  206.         >
  207.     struct result_
  208.     {
  209.         typedef typename vector8<
  210.               T0, T1, T2, T3, T4, T5, T6, T7
  211.             >::type type;
  212.  
  213.     };
  214. };
  215.  
  216. } // namespace aux
  217.  
  218. namespace aux {
  219.  
  220. template<>
  221. struct vector_chooser<9>
  222. {
  223.     template<
  224.           typename T0, typename T1, typename T2, typename T3, typename T4
  225.         , typename T5, typename T6, typename T7, typename T8, typename T9
  226.         , typename T10, typename T11, typename T12, typename T13, typename T14
  227.         , typename T15, typename T16, typename T17, typename T18, typename T19
  228.         >
  229.     struct result_
  230.     {
  231.         typedef typename vector9<
  232.               T0, T1, T2, T3, T4, T5, T6, T7, T8
  233.             >::type type;
  234.  
  235.     };
  236. };
  237.  
  238. } // namespace aux
  239.  
  240. namespace aux {
  241.  
  242. template<>
  243. struct vector_chooser<10>
  244. {
  245.     template<
  246.           typename T0, typename T1, typename T2, typename T3, typename T4
  247.         , typename T5, typename T6, typename T7, typename T8, typename T9
  248.         , typename T10, typename T11, typename T12, typename T13, typename T14
  249.         , typename T15, typename T16, typename T17, typename T18, typename T19
  250.         >
  251.     struct result_
  252.     {
  253.         typedef typename vector10<
  254.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9
  255.             >::type type;
  256.  
  257.     };
  258. };
  259.  
  260. } // namespace aux
  261.  
  262. namespace aux {
  263.  
  264. template<>
  265. struct vector_chooser<11>
  266. {
  267.     template<
  268.           typename T0, typename T1, typename T2, typename T3, typename T4
  269.         , typename T5, typename T6, typename T7, typename T8, typename T9
  270.         , typename T10, typename T11, typename T12, typename T13, typename T14
  271.         , typename T15, typename T16, typename T17, typename T18, typename T19
  272.         >
  273.     struct result_
  274.     {
  275.         typedef typename vector11<
  276.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
  277.             >::type type;
  278.  
  279.     };
  280. };
  281.  
  282. } // namespace aux
  283.  
  284. namespace aux {
  285.  
  286. template<>
  287. struct vector_chooser<12>
  288. {
  289.     template<
  290.           typename T0, typename T1, typename T2, typename T3, typename T4
  291.         , typename T5, typename T6, typename T7, typename T8, typename T9
  292.         , typename T10, typename T11, typename T12, typename T13, typename T14
  293.         , typename T15, typename T16, typename T17, typename T18, typename T19
  294.         >
  295.     struct result_
  296.     {
  297.         typedef typename vector12<
  298.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
  299.             >::type type;
  300.  
  301.     };
  302. };
  303.  
  304. } // namespace aux
  305.  
  306. namespace aux {
  307.  
  308. template<>
  309. struct vector_chooser<13>
  310. {
  311.     template<
  312.           typename T0, typename T1, typename T2, typename T3, typename T4
  313.         , typename T5, typename T6, typename T7, typename T8, typename T9
  314.         , typename T10, typename T11, typename T12, typename T13, typename T14
  315.         , typename T15, typename T16, typename T17, typename T18, typename T19
  316.         >
  317.     struct result_
  318.     {
  319.         typedef typename vector13<
  320.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12
  321.             >::type type;
  322.  
  323.     };
  324. };
  325.  
  326. } // namespace aux
  327.  
  328. namespace aux {
  329.  
  330. template<>
  331. struct vector_chooser<14>
  332. {
  333.     template<
  334.           typename T0, typename T1, typename T2, typename T3, typename T4
  335.         , typename T5, typename T6, typename T7, typename T8, typename T9
  336.         , typename T10, typename T11, typename T12, typename T13, typename T14
  337.         , typename T15, typename T16, typename T17, typename T18, typename T19
  338.         >
  339.     struct result_
  340.     {
  341.         typedef typename vector14<
  342.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13
  343.             >::type type;
  344.  
  345.     };
  346. };
  347.  
  348. } // namespace aux
  349.  
  350. namespace aux {
  351.  
  352. template<>
  353. struct vector_chooser<15>
  354. {
  355.     template<
  356.           typename T0, typename T1, typename T2, typename T3, typename T4
  357.         , typename T5, typename T6, typename T7, typename T8, typename T9
  358.         , typename T10, typename T11, typename T12, typename T13, typename T14
  359.         , typename T15, typename T16, typename T17, typename T18, typename T19
  360.         >
  361.     struct result_
  362.     {
  363.         typedef typename vector15<
  364.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
  365.             >::type type;
  366.  
  367.     };
  368. };
  369.  
  370. } // namespace aux
  371.  
  372. namespace aux {
  373.  
  374. template<>
  375. struct vector_chooser<16>
  376. {
  377.     template<
  378.           typename T0, typename T1, typename T2, typename T3, typename T4
  379.         , typename T5, typename T6, typename T7, typename T8, typename T9
  380.         , typename T10, typename T11, typename T12, typename T13, typename T14
  381.         , typename T15, typename T16, typename T17, typename T18, typename T19
  382.         >
  383.     struct result_
  384.     {
  385.         typedef typename vector16<
  386.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15
  387.             >::type type;
  388.  
  389.     };
  390. };
  391.  
  392. } // namespace aux
  393.  
  394. namespace aux {
  395.  
  396. template<>
  397. struct vector_chooser<17>
  398. {
  399.     template<
  400.           typename T0, typename T1, typename T2, typename T3, typename T4
  401.         , typename T5, typename T6, typename T7, typename T8, typename T9
  402.         , typename T10, typename T11, typename T12, typename T13, typename T14
  403.         , typename T15, typename T16, typename T17, typename T18, typename T19
  404.         >
  405.     struct result_
  406.     {
  407.         typedef typename vector17<
  408.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16
  409.             >::type type;
  410.  
  411.     };
  412. };
  413.  
  414. } // namespace aux
  415.  
  416. namespace aux {
  417.  
  418. template<>
  419. struct vector_chooser<18>
  420. {
  421.     template<
  422.           typename T0, typename T1, typename T2, typename T3, typename T4
  423.         , typename T5, typename T6, typename T7, typename T8, typename T9
  424.         , typename T10, typename T11, typename T12, typename T13, typename T14
  425.         , typename T15, typename T16, typename T17, typename T18, typename T19
  426.         >
  427.     struct result_
  428.     {
  429.         typedef typename vector18<
  430.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17
  431.             >::type type;
  432.  
  433.     };
  434. };
  435.  
  436. } // namespace aux
  437.  
  438. namespace aux {
  439.  
  440. template<>
  441. struct vector_chooser<19>
  442. {
  443.     template<
  444.           typename T0, typename T1, typename T2, typename T3, typename T4
  445.         , typename T5, typename T6, typename T7, typename T8, typename T9
  446.         , typename T10, typename T11, typename T12, typename T13, typename T14
  447.         , typename T15, typename T16, typename T17, typename T18, typename T19
  448.         >
  449.     struct result_
  450.     {
  451.         typedef typename vector19<
  452.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18
  453.             >::type type;
  454.  
  455.     };
  456. };
  457.  
  458. } // namespace aux
  459.  
  460. namespace aux {
  461.  
  462. template<>
  463. struct vector_chooser<20>
  464. {
  465.     template<
  466.           typename T0, typename T1, typename T2, typename T3, typename T4
  467.         , typename T5, typename T6, typename T7, typename T8, typename T9
  468.         , typename T10, typename T11, typename T12, typename T13, typename T14
  469.         , typename T15, typename T16, typename T17, typename T18, typename T19
  470.         >
  471.     struct result_
  472.     {
  473.         typedef typename vector20<
  474.               T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
  475.             >::type type;
  476.  
  477.     };
  478. };
  479.  
  480. } // namespace aux
  481.  
  482. namespace aux {
  483.  
  484. template< typename T >
  485. struct is_vector_arg
  486. {
  487.     BOOST_STATIC_CONSTANT(bool, value  = true);
  488. };
  489.  
  490. template<>
  491. struct is_vector_arg<na>
  492. {
  493.     BOOST_STATIC_CONSTANT(bool, value  = false);
  494. };
  495.  
  496. template<
  497.       typename T1, typename T2, typename T3, typename T4, typename T5
  498.     , typename T6, typename T7, typename T8, typename T9, typename T10
  499.     , typename T11, typename T12, typename T13, typename T14, typename T15
  500.     , typename T16, typename T17, typename T18, typename T19, typename T20
  501.     >
  502. struct vector_count_args
  503. {
  504.     BOOST_STATIC_CONSTANT(int, value =
  505.           is_vector_arg<T1>::value + is_vector_arg<T2>::value
  506.         + is_vector_arg<T3>::value + is_vector_arg<T4>::value
  507.         + is_vector_arg<T5>::value + is_vector_arg<T6>::value
  508.         + is_vector_arg<T7>::value + is_vector_arg<T8>::value
  509.         + is_vector_arg<T9>::value + is_vector_arg<T10>::value
  510.         + is_vector_arg<T11>::value + is_vector_arg<T12>::value
  511.         + is_vector_arg<T13>::value + is_vector_arg<T14>::value
  512.         + is_vector_arg<T15>::value + is_vector_arg<T16>::value
  513.         + is_vector_arg<T17>::value + is_vector_arg<T18>::value
  514.         + is_vector_arg<T19>::value + is_vector_arg<T20>::value
  515.         );
  516.  
  517. };
  518.  
  519. template<
  520.       typename T0, typename T1, typename T2, typename T3, typename T4
  521.     , typename T5, typename T6, typename T7, typename T8, typename T9
  522.     , typename T10, typename T11, typename T12, typename T13, typename T14
  523.     , typename T15, typename T16, typename T17, typename T18, typename T19
  524.     >
  525. struct vector_impl
  526. {
  527.     typedef aux::vector_count_args<
  528.           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
  529.         > arg_num_;
  530.  
  531.     typedef typename aux::vector_chooser< arg_num_::value >
  532.         ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
  533. };
  534.  
  535. } // namespace aux
  536.  
  537. template<
  538.       typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
  539.     , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
  540.     , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
  541.     , typename T12 = na, typename T13 = na, typename T14 = na
  542.     , typename T15 = na, typename T16 = na, typename T17 = na
  543.     , typename T18 = na, typename T19 = na
  544.     >
  545. struct vector
  546.     : aux::vector_impl<
  547.           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
  548.         >::type
  549. {
  550.     typedef typename aux::vector_impl<
  551.           T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19
  552.         >::type type;
  553. };
  554.  
  555. }}
  556.  
  557.  
downloadvector.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