as_map10.hpp 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  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. BOOST_FUSION_BARRIER_BEGIN
  10. template <bool is_assoc>
  11. struct as_map<1, is_assoc>
  12. {
  13. template <typename I0>
  14. struct apply
  15. {
  16. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0;
  17. typedef map<T0> type;
  18. };
  19. template <typename Iterator>
  20. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  21. static typename apply<Iterator>::type
  22. call(Iterator const& i0)
  23. {
  24. typedef apply<Iterator> gen;
  25. typedef typename gen::type result;
  26. return result(gen::D0::call(i0));
  27. }
  28. };
  29. template <bool is_assoc>
  30. struct as_map<2, is_assoc>
  31. {
  32. template <typename I0>
  33. struct apply
  34. {
  35. typedef typename fusion::result_of::next<I0>::type I1;
  36. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1;
  37. typedef map<T0 , T1> type;
  38. };
  39. template <typename Iterator>
  40. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  41. static typename apply<Iterator>::type
  42. call(Iterator const& i0)
  43. {
  44. typedef apply<Iterator> gen;
  45. typedef typename gen::type result;
  46. typename gen::I1 i1 = fusion::next(i0);
  47. return result(gen::D0::call(i0) , gen::D1::call(i1));
  48. }
  49. };
  50. template <bool is_assoc>
  51. struct as_map<3, is_assoc>
  52. {
  53. template <typename I0>
  54. struct apply
  55. {
  56. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
  57. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2;
  58. typedef map<T0 , T1 , T2> type;
  59. };
  60. template <typename Iterator>
  61. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  62. static typename apply<Iterator>::type
  63. call(Iterator const& i0)
  64. {
  65. typedef apply<Iterator> gen;
  66. typedef typename gen::type result;
  67. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
  68. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2));
  69. }
  70. };
  71. template <bool is_assoc>
  72. struct as_map<4, is_assoc>
  73. {
  74. template <typename I0>
  75. struct apply
  76. {
  77. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
  78. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3;
  79. typedef map<T0 , T1 , T2 , T3> type;
  80. };
  81. template <typename Iterator>
  82. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  83. static typename apply<Iterator>::type
  84. call(Iterator const& i0)
  85. {
  86. typedef apply<Iterator> gen;
  87. typedef typename gen::type result;
  88. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
  89. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3));
  90. }
  91. };
  92. template <bool is_assoc>
  93. struct as_map<5, is_assoc>
  94. {
  95. template <typename I0>
  96. struct apply
  97. {
  98. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
  99. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4;
  100. typedef map<T0 , T1 , T2 , T3 , T4> type;
  101. };
  102. template <typename Iterator>
  103. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  104. static typename apply<Iterator>::type
  105. call(Iterator const& i0)
  106. {
  107. typedef apply<Iterator> gen;
  108. typedef typename gen::type result;
  109. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
  110. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4));
  111. }
  112. };
  113. template <bool is_assoc>
  114. struct as_map<6, is_assoc>
  115. {
  116. template <typename I0>
  117. struct apply
  118. {
  119. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
  120. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5;
  121. typedef map<T0 , T1 , T2 , T3 , T4 , T5> type;
  122. };
  123. template <typename Iterator>
  124. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  125. static typename apply<Iterator>::type
  126. call(Iterator const& i0)
  127. {
  128. typedef apply<Iterator> gen;
  129. typedef typename gen::type result;
  130. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
  131. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5));
  132. }
  133. };
  134. template <bool is_assoc>
  135. struct as_map<7, is_assoc>
  136. {
  137. template <typename I0>
  138. struct apply
  139. {
  140. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
  141. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6;
  142. typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
  143. };
  144. template <typename Iterator>
  145. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  146. static typename apply<Iterator>::type
  147. call(Iterator const& i0)
  148. {
  149. typedef apply<Iterator> gen;
  150. typedef typename gen::type result;
  151. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
  152. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6));
  153. }
  154. };
  155. template <bool is_assoc>
  156. struct as_map<8, is_assoc>
  157. {
  158. template <typename I0>
  159. struct apply
  160. {
  161. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
  162. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6; typedef pair_from<I7, is_assoc> D7; typedef typename D7::type T7;
  163. typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
  164. };
  165. template <typename Iterator>
  166. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  167. static typename apply<Iterator>::type
  168. call(Iterator const& i0)
  169. {
  170. typedef apply<Iterator> gen;
  171. typedef typename gen::type result;
  172. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
  173. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7));
  174. }
  175. };
  176. template <bool is_assoc>
  177. struct as_map<9, is_assoc>
  178. {
  179. template <typename I0>
  180. struct apply
  181. {
  182. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
  183. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6; typedef pair_from<I7, is_assoc> D7; typedef typename D7::type T7; typedef pair_from<I8, is_assoc> D8; typedef typename D8::type T8;
  184. typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
  185. };
  186. template <typename Iterator>
  187. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  188. static typename apply<Iterator>::type
  189. call(Iterator const& i0)
  190. {
  191. typedef apply<Iterator> gen;
  192. typedef typename gen::type result;
  193. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
  194. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8));
  195. }
  196. };
  197. template <bool is_assoc>
  198. struct as_map<10, is_assoc>
  199. {
  200. template <typename I0>
  201. struct apply
  202. {
  203. typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
  204. typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6; typedef pair_from<I7, is_assoc> D7; typedef typename D7::type T7; typedef pair_from<I8, is_assoc> D8; typedef typename D8::type T8; typedef pair_from<I9, is_assoc> D9; typedef typename D9::type T9;
  205. typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
  206. };
  207. template <typename Iterator>
  208. BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
  209. static typename apply<Iterator>::type
  210. call(Iterator const& i0)
  211. {
  212. typedef apply<Iterator> gen;
  213. typedef typename gen::type result;
  214. typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
  215. return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9));
  216. }
  217. };
  218. BOOST_FUSION_BARRIER_END
  219. }}}