deque_keyed_values10.hpp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /*=============================================================================
  2. Copyright (c) 2001-2011 Joel de Guzman
  3. Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. This is an auto-generated file. Do not edit!
  6. ==============================================================================*/
  7. namespace boost { namespace fusion { namespace detail
  8. {
  9. template<typename Key, typename Value, typename Rest>
  10. struct keyed_element;
  11. struct nil_keyed_element;
  12. template<typename N, typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_>
  13. struct deque_keyed_values_impl;
  14. template<typename N>
  15. struct deque_keyed_values_impl<N, void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
  16. {
  17. typedef nil_keyed_element type;
  18. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  19. static type construct()
  20. {
  21. return type();
  22. }
  23. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  24. static type forward_()
  25. {
  26. return type();
  27. }
  28. };
  29. template<typename N, typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
  30. struct deque_keyed_values_impl
  31. {
  32. typedef mpl::int_<mpl::plus<N, mpl::int_<1> >::value> next_index;
  33. typedef typename deque_keyed_values_impl<
  34. next_index,
  35. T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail;
  36. typedef keyed_element<N, T0, tail> type;
  37. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  38. static type construct(typename detail::call_param<T0 >::type t0)
  39. {
  40. return type(t0,
  41. deque_keyed_values_impl<
  42. next_index
  43. >::construct());
  44. }
  45. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  46. template <typename T_0>
  47. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  48. static type forward_(T_0 && t0)
  49. {
  50. return type(std::forward<T_0>( t0),
  51. deque_keyed_values_impl<
  52. next_index
  53. >::forward_());
  54. }
  55. # endif
  56. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  57. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1)
  58. {
  59. return type(t0,
  60. deque_keyed_values_impl<
  61. next_index
  62. , T1
  63. >::construct(t1));
  64. }
  65. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  66. template <typename T_0 , typename T_1>
  67. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  68. static type forward_(T_0 && t0 , T_1 && t1)
  69. {
  70. return type(std::forward<T_0>( t0),
  71. deque_keyed_values_impl<
  72. next_index
  73. , T_1
  74. >::forward_(std::forward<T_1>( t1)));
  75. }
  76. # endif
  77. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  78. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2)
  79. {
  80. return type(t0,
  81. deque_keyed_values_impl<
  82. next_index
  83. , T1 , T2
  84. >::construct(t1 , t2));
  85. }
  86. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  87. template <typename T_0 , typename T_1 , typename T_2>
  88. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  89. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2)
  90. {
  91. return type(std::forward<T_0>( t0),
  92. deque_keyed_values_impl<
  93. next_index
  94. , T_1 , T_2
  95. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2)));
  96. }
  97. # endif
  98. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  99. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3)
  100. {
  101. return type(t0,
  102. deque_keyed_values_impl<
  103. next_index
  104. , T1 , T2 , T3
  105. >::construct(t1 , t2 , t3));
  106. }
  107. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  108. template <typename T_0 , typename T_1 , typename T_2 , typename T_3>
  109. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  110. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3)
  111. {
  112. return type(std::forward<T_0>( t0),
  113. deque_keyed_values_impl<
  114. next_index
  115. , T_1 , T_2 , T_3
  116. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3)));
  117. }
  118. # endif
  119. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  120. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4)
  121. {
  122. return type(t0,
  123. deque_keyed_values_impl<
  124. next_index
  125. , T1 , T2 , T3 , T4
  126. >::construct(t1 , t2 , t3 , t4));
  127. }
  128. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  129. template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4>
  130. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  131. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4)
  132. {
  133. return type(std::forward<T_0>( t0),
  134. deque_keyed_values_impl<
  135. next_index
  136. , T_1 , T_2 , T_3 , T_4
  137. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4)));
  138. }
  139. # endif
  140. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  141. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5)
  142. {
  143. return type(t0,
  144. deque_keyed_values_impl<
  145. next_index
  146. , T1 , T2 , T3 , T4 , T5
  147. >::construct(t1 , t2 , t3 , t4 , t5));
  148. }
  149. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  150. template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5>
  151. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  152. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5)
  153. {
  154. return type(std::forward<T_0>( t0),
  155. deque_keyed_values_impl<
  156. next_index
  157. , T_1 , T_2 , T_3 , T_4 , T_5
  158. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5)));
  159. }
  160. # endif
  161. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  162. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6)
  163. {
  164. return type(t0,
  165. deque_keyed_values_impl<
  166. next_index
  167. , T1 , T2 , T3 , T4 , T5 , T6
  168. >::construct(t1 , t2 , t3 , t4 , t5 , t6));
  169. }
  170. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  171. template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6>
  172. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  173. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6)
  174. {
  175. return type(std::forward<T_0>( t0),
  176. deque_keyed_values_impl<
  177. next_index
  178. , T_1 , T_2 , T_3 , T_4 , T_5 , T_6
  179. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6)));
  180. }
  181. # endif
  182. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  183. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7)
  184. {
  185. return type(t0,
  186. deque_keyed_values_impl<
  187. next_index
  188. , T1 , T2 , T3 , T4 , T5 , T6 , T7
  189. >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7));
  190. }
  191. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  192. template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7>
  193. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  194. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7)
  195. {
  196. return type(std::forward<T_0>( t0),
  197. deque_keyed_values_impl<
  198. next_index
  199. , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7
  200. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7)));
  201. }
  202. # endif
  203. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  204. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8)
  205. {
  206. return type(t0,
  207. deque_keyed_values_impl<
  208. next_index
  209. , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
  210. >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8));
  211. }
  212. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  213. template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8>
  214. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  215. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8)
  216. {
  217. return type(std::forward<T_0>( t0),
  218. deque_keyed_values_impl<
  219. next_index
  220. , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8
  221. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8)));
  222. }
  223. # endif
  224. BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  225. static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8 , typename detail::call_param<T9 >::type t9)
  226. {
  227. return type(t0,
  228. deque_keyed_values_impl<
  229. next_index
  230. , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
  231. >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9));
  232. }
  233. # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
  234. template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8 , typename T_9>
  235. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  236. static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9)
  237. {
  238. return type(std::forward<T_0>( t0),
  239. deque_keyed_values_impl<
  240. next_index
  241. , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9
  242. >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8) , std::forward<T_9>( t9)));
  243. }
  244. # endif
  245. };
  246. template<typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_>
  247. struct deque_keyed_values
  248. : deque_keyed_values_impl<mpl::int_<0>, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
  249. {};
  250. }}}