arity30_1.hpp 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. // (C) Copyright Tobias Schwinger
  2. //
  3. // Use modification and distribution are subject to the boost Software License,
  4. // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
  5. //------------------------------------------------------------------------------
  6. // no include guards, this file is intended for multiple inclusion
  7. // input: BOOST_FT_syntax type macro to use
  8. // input: BOOST_FT_cc empty or cc specifier
  9. // input: BOOST_FT_ell empty or "..."
  10. // input: BOOST_FT_cv empty or cv qualifiers
  11. // input: BOOST_FT_flags single decimal integer encoding the flags
  12. // output: BOOST_FT_n number of component types (arity+1)
  13. // output: BOOST_FT_arity current arity
  14. // output: BOOST_FT_type macro that expands to the type
  15. // output: BOOST_FT_tplargs(p) template arguments with given prefix
  16. // output: BOOST_FT_params(p) parameters with given prefix
  17. # include <boost/function_types/detail/synthesize_impl/arity20_1.hpp>
  18. # define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity)
  19. # define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity
  20. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 >
  21. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21)
  22. {
  23. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv ;
  24. };
  25. template< >
  26. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 >
  27. {
  28. template<typename S> struct synthesize_impl_i
  29. {
  30. private:
  31. typedef typename mpl::begin<S> ::type iter_0;
  32. typedef typename mpl::next< iter_0 > ::type iter_1;
  33. typedef typename mpl::next< iter_1 > ::type iter_2;
  34. typedef typename mpl::next< iter_2 > ::type iter_3;
  35. typedef typename mpl::next< iter_3 > ::type iter_4;
  36. typedef typename mpl::next< iter_4 > ::type iter_5;
  37. typedef typename mpl::next< iter_5 > ::type iter_6;
  38. typedef typename mpl::next< iter_6 > ::type iter_7;
  39. typedef typename mpl::next< iter_7 > ::type iter_8;
  40. typedef typename mpl::next< iter_8 > ::type iter_9;
  41. typedef typename mpl::next< iter_9 > ::type iter_10;
  42. typedef typename mpl::next< iter_10 > ::type iter_11;
  43. typedef typename mpl::next< iter_11 > ::type iter_12;
  44. typedef typename mpl::next< iter_12 > ::type iter_13;
  45. typedef typename mpl::next< iter_13 > ::type iter_14;
  46. typedef typename mpl::next< iter_14 > ::type iter_15;
  47. typedef typename mpl::next< iter_15 > ::type iter_16;
  48. typedef typename mpl::next< iter_16 > ::type iter_17;
  49. typedef typename mpl::next< iter_17 > ::type iter_18;
  50. typedef typename mpl::next< iter_18 > ::type iter_19;
  51. typedef typename mpl::next< iter_19 > ::type iter_20;
  52. typedef typename mpl::next< iter_20 > ::type iter_21;
  53. public:
  54. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21)
  55. < typename mpl::deref< iter_0 > ::type
  56. , typename detail::cv_traits<
  57. typename mpl::deref< iter_1 > ::type > ::type
  58. , typename mpl::deref< iter_2 > ::type
  59. , typename mpl::deref< iter_3 > ::type
  60. , typename mpl::deref< iter_4 > ::type
  61. , typename mpl::deref< iter_5 > ::type
  62. , typename mpl::deref< iter_6 > ::type
  63. , typename mpl::deref< iter_7 > ::type
  64. , typename mpl::deref< iter_8 > ::type
  65. , typename mpl::deref< iter_9 > ::type
  66. , typename mpl::deref< iter_10 > ::type
  67. , typename mpl::deref< iter_11 > ::type
  68. , typename mpl::deref< iter_12 > ::type
  69. , typename mpl::deref< iter_13 > ::type
  70. , typename mpl::deref< iter_14 > ::type
  71. , typename mpl::deref< iter_15 > ::type
  72. , typename mpl::deref< iter_16 > ::type
  73. , typename mpl::deref< iter_17 > ::type
  74. , typename mpl::deref< iter_18 > ::type
  75. , typename mpl::deref< iter_19 > ::type
  76. , typename mpl::deref< iter_20 > ::type
  77. , typename mpl::deref< iter_21 > ::type
  78. > ::type type;
  79. };
  80. };
  81. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 >
  82. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22)
  83. {
  84. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv ;
  85. };
  86. template< >
  87. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 >
  88. {
  89. template<typename S> struct synthesize_impl_i
  90. {
  91. private:
  92. typedef typename mpl::begin<S> ::type iter_0;
  93. typedef typename mpl::next< iter_0 > ::type iter_1;
  94. typedef typename mpl::next< iter_1 > ::type iter_2;
  95. typedef typename mpl::next< iter_2 > ::type iter_3;
  96. typedef typename mpl::next< iter_3 > ::type iter_4;
  97. typedef typename mpl::next< iter_4 > ::type iter_5;
  98. typedef typename mpl::next< iter_5 > ::type iter_6;
  99. typedef typename mpl::next< iter_6 > ::type iter_7;
  100. typedef typename mpl::next< iter_7 > ::type iter_8;
  101. typedef typename mpl::next< iter_8 > ::type iter_9;
  102. typedef typename mpl::next< iter_9 > ::type iter_10;
  103. typedef typename mpl::next< iter_10 > ::type iter_11;
  104. typedef typename mpl::next< iter_11 > ::type iter_12;
  105. typedef typename mpl::next< iter_12 > ::type iter_13;
  106. typedef typename mpl::next< iter_13 > ::type iter_14;
  107. typedef typename mpl::next< iter_14 > ::type iter_15;
  108. typedef typename mpl::next< iter_15 > ::type iter_16;
  109. typedef typename mpl::next< iter_16 > ::type iter_17;
  110. typedef typename mpl::next< iter_17 > ::type iter_18;
  111. typedef typename mpl::next< iter_18 > ::type iter_19;
  112. typedef typename mpl::next< iter_19 > ::type iter_20;
  113. typedef typename mpl::next< iter_20 > ::type iter_21;
  114. typedef typename mpl::next< iter_21 > ::type iter_22;
  115. public:
  116. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22)
  117. < typename mpl::deref< iter_0 > ::type
  118. , typename detail::cv_traits<
  119. typename mpl::deref< iter_1 > ::type > ::type
  120. , typename mpl::deref< iter_2 > ::type
  121. , typename mpl::deref< iter_3 > ::type
  122. , typename mpl::deref< iter_4 > ::type
  123. , typename mpl::deref< iter_5 > ::type
  124. , typename mpl::deref< iter_6 > ::type
  125. , typename mpl::deref< iter_7 > ::type
  126. , typename mpl::deref< iter_8 > ::type
  127. , typename mpl::deref< iter_9 > ::type
  128. , typename mpl::deref< iter_10 > ::type
  129. , typename mpl::deref< iter_11 > ::type
  130. , typename mpl::deref< iter_12 > ::type
  131. , typename mpl::deref< iter_13 > ::type
  132. , typename mpl::deref< iter_14 > ::type
  133. , typename mpl::deref< iter_15 > ::type
  134. , typename mpl::deref< iter_16 > ::type
  135. , typename mpl::deref< iter_17 > ::type
  136. , typename mpl::deref< iter_18 > ::type
  137. , typename mpl::deref< iter_19 > ::type
  138. , typename mpl::deref< iter_20 > ::type
  139. , typename mpl::deref< iter_21 > ::type
  140. , typename mpl::deref< iter_22 > ::type
  141. > ::type type;
  142. };
  143. };
  144. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 >
  145. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23)
  146. {
  147. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv ;
  148. };
  149. template< >
  150. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 >
  151. {
  152. template<typename S> struct synthesize_impl_i
  153. {
  154. private:
  155. typedef typename mpl::begin<S> ::type iter_0;
  156. typedef typename mpl::next< iter_0 > ::type iter_1;
  157. typedef typename mpl::next< iter_1 > ::type iter_2;
  158. typedef typename mpl::next< iter_2 > ::type iter_3;
  159. typedef typename mpl::next< iter_3 > ::type iter_4;
  160. typedef typename mpl::next< iter_4 > ::type iter_5;
  161. typedef typename mpl::next< iter_5 > ::type iter_6;
  162. typedef typename mpl::next< iter_6 > ::type iter_7;
  163. typedef typename mpl::next< iter_7 > ::type iter_8;
  164. typedef typename mpl::next< iter_8 > ::type iter_9;
  165. typedef typename mpl::next< iter_9 > ::type iter_10;
  166. typedef typename mpl::next< iter_10 > ::type iter_11;
  167. typedef typename mpl::next< iter_11 > ::type iter_12;
  168. typedef typename mpl::next< iter_12 > ::type iter_13;
  169. typedef typename mpl::next< iter_13 > ::type iter_14;
  170. typedef typename mpl::next< iter_14 > ::type iter_15;
  171. typedef typename mpl::next< iter_15 > ::type iter_16;
  172. typedef typename mpl::next< iter_16 > ::type iter_17;
  173. typedef typename mpl::next< iter_17 > ::type iter_18;
  174. typedef typename mpl::next< iter_18 > ::type iter_19;
  175. typedef typename mpl::next< iter_19 > ::type iter_20;
  176. typedef typename mpl::next< iter_20 > ::type iter_21;
  177. typedef typename mpl::next< iter_21 > ::type iter_22;
  178. typedef typename mpl::next< iter_22 > ::type iter_23;
  179. public:
  180. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23)
  181. < typename mpl::deref< iter_0 > ::type
  182. , typename detail::cv_traits<
  183. typename mpl::deref< iter_1 > ::type > ::type
  184. , typename mpl::deref< iter_2 > ::type
  185. , typename mpl::deref< iter_3 > ::type
  186. , typename mpl::deref< iter_4 > ::type
  187. , typename mpl::deref< iter_5 > ::type
  188. , typename mpl::deref< iter_6 > ::type
  189. , typename mpl::deref< iter_7 > ::type
  190. , typename mpl::deref< iter_8 > ::type
  191. , typename mpl::deref< iter_9 > ::type
  192. , typename mpl::deref< iter_10 > ::type
  193. , typename mpl::deref< iter_11 > ::type
  194. , typename mpl::deref< iter_12 > ::type
  195. , typename mpl::deref< iter_13 > ::type
  196. , typename mpl::deref< iter_14 > ::type
  197. , typename mpl::deref< iter_15 > ::type
  198. , typename mpl::deref< iter_16 > ::type
  199. , typename mpl::deref< iter_17 > ::type
  200. , typename mpl::deref< iter_18 > ::type
  201. , typename mpl::deref< iter_19 > ::type
  202. , typename mpl::deref< iter_20 > ::type
  203. , typename mpl::deref< iter_21 > ::type
  204. , typename mpl::deref< iter_22 > ::type
  205. , typename mpl::deref< iter_23 > ::type
  206. > ::type type;
  207. };
  208. };
  209. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 >
  210. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24)
  211. {
  212. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv ;
  213. };
  214. template< >
  215. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 >
  216. {
  217. template<typename S> struct synthesize_impl_i
  218. {
  219. private:
  220. typedef typename mpl::begin<S> ::type iter_0;
  221. typedef typename mpl::next< iter_0 > ::type iter_1;
  222. typedef typename mpl::next< iter_1 > ::type iter_2;
  223. typedef typename mpl::next< iter_2 > ::type iter_3;
  224. typedef typename mpl::next< iter_3 > ::type iter_4;
  225. typedef typename mpl::next< iter_4 > ::type iter_5;
  226. typedef typename mpl::next< iter_5 > ::type iter_6;
  227. typedef typename mpl::next< iter_6 > ::type iter_7;
  228. typedef typename mpl::next< iter_7 > ::type iter_8;
  229. typedef typename mpl::next< iter_8 > ::type iter_9;
  230. typedef typename mpl::next< iter_9 > ::type iter_10;
  231. typedef typename mpl::next< iter_10 > ::type iter_11;
  232. typedef typename mpl::next< iter_11 > ::type iter_12;
  233. typedef typename mpl::next< iter_12 > ::type iter_13;
  234. typedef typename mpl::next< iter_13 > ::type iter_14;
  235. typedef typename mpl::next< iter_14 > ::type iter_15;
  236. typedef typename mpl::next< iter_15 > ::type iter_16;
  237. typedef typename mpl::next< iter_16 > ::type iter_17;
  238. typedef typename mpl::next< iter_17 > ::type iter_18;
  239. typedef typename mpl::next< iter_18 > ::type iter_19;
  240. typedef typename mpl::next< iter_19 > ::type iter_20;
  241. typedef typename mpl::next< iter_20 > ::type iter_21;
  242. typedef typename mpl::next< iter_21 > ::type iter_22;
  243. typedef typename mpl::next< iter_22 > ::type iter_23;
  244. typedef typename mpl::next< iter_23 > ::type iter_24;
  245. public:
  246. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24)
  247. < typename mpl::deref< iter_0 > ::type
  248. , typename detail::cv_traits<
  249. typename mpl::deref< iter_1 > ::type > ::type
  250. , typename mpl::deref< iter_2 > ::type
  251. , typename mpl::deref< iter_3 > ::type
  252. , typename mpl::deref< iter_4 > ::type
  253. , typename mpl::deref< iter_5 > ::type
  254. , typename mpl::deref< iter_6 > ::type
  255. , typename mpl::deref< iter_7 > ::type
  256. , typename mpl::deref< iter_8 > ::type
  257. , typename mpl::deref< iter_9 > ::type
  258. , typename mpl::deref< iter_10 > ::type
  259. , typename mpl::deref< iter_11 > ::type
  260. , typename mpl::deref< iter_12 > ::type
  261. , typename mpl::deref< iter_13 > ::type
  262. , typename mpl::deref< iter_14 > ::type
  263. , typename mpl::deref< iter_15 > ::type
  264. , typename mpl::deref< iter_16 > ::type
  265. , typename mpl::deref< iter_17 > ::type
  266. , typename mpl::deref< iter_18 > ::type
  267. , typename mpl::deref< iter_19 > ::type
  268. , typename mpl::deref< iter_20 > ::type
  269. , typename mpl::deref< iter_21 > ::type
  270. , typename mpl::deref< iter_22 > ::type
  271. , typename mpl::deref< iter_23 > ::type
  272. , typename mpl::deref< iter_24 > ::type
  273. > ::type type;
  274. };
  275. };
  276. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 >
  277. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
  278. {
  279. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv ;
  280. };
  281. template< >
  282. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 >
  283. {
  284. template<typename S> struct synthesize_impl_i
  285. {
  286. private:
  287. typedef typename mpl::begin<S> ::type iter_0;
  288. typedef typename mpl::next< iter_0 > ::type iter_1;
  289. typedef typename mpl::next< iter_1 > ::type iter_2;
  290. typedef typename mpl::next< iter_2 > ::type iter_3;
  291. typedef typename mpl::next< iter_3 > ::type iter_4;
  292. typedef typename mpl::next< iter_4 > ::type iter_5;
  293. typedef typename mpl::next< iter_5 > ::type iter_6;
  294. typedef typename mpl::next< iter_6 > ::type iter_7;
  295. typedef typename mpl::next< iter_7 > ::type iter_8;
  296. typedef typename mpl::next< iter_8 > ::type iter_9;
  297. typedef typename mpl::next< iter_9 > ::type iter_10;
  298. typedef typename mpl::next< iter_10 > ::type iter_11;
  299. typedef typename mpl::next< iter_11 > ::type iter_12;
  300. typedef typename mpl::next< iter_12 > ::type iter_13;
  301. typedef typename mpl::next< iter_13 > ::type iter_14;
  302. typedef typename mpl::next< iter_14 > ::type iter_15;
  303. typedef typename mpl::next< iter_15 > ::type iter_16;
  304. typedef typename mpl::next< iter_16 > ::type iter_17;
  305. typedef typename mpl::next< iter_17 > ::type iter_18;
  306. typedef typename mpl::next< iter_18 > ::type iter_19;
  307. typedef typename mpl::next< iter_19 > ::type iter_20;
  308. typedef typename mpl::next< iter_20 > ::type iter_21;
  309. typedef typename mpl::next< iter_21 > ::type iter_22;
  310. typedef typename mpl::next< iter_22 > ::type iter_23;
  311. typedef typename mpl::next< iter_23 > ::type iter_24;
  312. typedef typename mpl::next< iter_24 > ::type iter_25;
  313. public:
  314. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25)
  315. < typename mpl::deref< iter_0 > ::type
  316. , typename detail::cv_traits<
  317. typename mpl::deref< iter_1 > ::type > ::type
  318. , typename mpl::deref< iter_2 > ::type
  319. , typename mpl::deref< iter_3 > ::type
  320. , typename mpl::deref< iter_4 > ::type
  321. , typename mpl::deref< iter_5 > ::type
  322. , typename mpl::deref< iter_6 > ::type
  323. , typename mpl::deref< iter_7 > ::type
  324. , typename mpl::deref< iter_8 > ::type
  325. , typename mpl::deref< iter_9 > ::type
  326. , typename mpl::deref< iter_10 > ::type
  327. , typename mpl::deref< iter_11 > ::type
  328. , typename mpl::deref< iter_12 > ::type
  329. , typename mpl::deref< iter_13 > ::type
  330. , typename mpl::deref< iter_14 > ::type
  331. , typename mpl::deref< iter_15 > ::type
  332. , typename mpl::deref< iter_16 > ::type
  333. , typename mpl::deref< iter_17 > ::type
  334. , typename mpl::deref< iter_18 > ::type
  335. , typename mpl::deref< iter_19 > ::type
  336. , typename mpl::deref< iter_20 > ::type
  337. , typename mpl::deref< iter_21 > ::type
  338. , typename mpl::deref< iter_22 > ::type
  339. , typename mpl::deref< iter_23 > ::type
  340. , typename mpl::deref< iter_24 > ::type
  341. , typename mpl::deref< iter_25 > ::type
  342. > ::type type;
  343. };
  344. };
  345. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 >
  346. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
  347. {
  348. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 BOOST_FT_ell) BOOST_FT_cv ;
  349. };
  350. template< >
  351. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 >
  352. {
  353. template<typename S> struct synthesize_impl_i
  354. {
  355. private:
  356. typedef typename mpl::begin<S> ::type iter_0;
  357. typedef typename mpl::next< iter_0 > ::type iter_1;
  358. typedef typename mpl::next< iter_1 > ::type iter_2;
  359. typedef typename mpl::next< iter_2 > ::type iter_3;
  360. typedef typename mpl::next< iter_3 > ::type iter_4;
  361. typedef typename mpl::next< iter_4 > ::type iter_5;
  362. typedef typename mpl::next< iter_5 > ::type iter_6;
  363. typedef typename mpl::next< iter_6 > ::type iter_7;
  364. typedef typename mpl::next< iter_7 > ::type iter_8;
  365. typedef typename mpl::next< iter_8 > ::type iter_9;
  366. typedef typename mpl::next< iter_9 > ::type iter_10;
  367. typedef typename mpl::next< iter_10 > ::type iter_11;
  368. typedef typename mpl::next< iter_11 > ::type iter_12;
  369. typedef typename mpl::next< iter_12 > ::type iter_13;
  370. typedef typename mpl::next< iter_13 > ::type iter_14;
  371. typedef typename mpl::next< iter_14 > ::type iter_15;
  372. typedef typename mpl::next< iter_15 > ::type iter_16;
  373. typedef typename mpl::next< iter_16 > ::type iter_17;
  374. typedef typename mpl::next< iter_17 > ::type iter_18;
  375. typedef typename mpl::next< iter_18 > ::type iter_19;
  376. typedef typename mpl::next< iter_19 > ::type iter_20;
  377. typedef typename mpl::next< iter_20 > ::type iter_21;
  378. typedef typename mpl::next< iter_21 > ::type iter_22;
  379. typedef typename mpl::next< iter_22 > ::type iter_23;
  380. typedef typename mpl::next< iter_23 > ::type iter_24;
  381. typedef typename mpl::next< iter_24 > ::type iter_25;
  382. typedef typename mpl::next< iter_25 > ::type iter_26;
  383. public:
  384. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26)
  385. < typename mpl::deref< iter_0 > ::type
  386. , typename detail::cv_traits<
  387. typename mpl::deref< iter_1 > ::type > ::type
  388. , typename mpl::deref< iter_2 > ::type
  389. , typename mpl::deref< iter_3 > ::type
  390. , typename mpl::deref< iter_4 > ::type
  391. , typename mpl::deref< iter_5 > ::type
  392. , typename mpl::deref< iter_6 > ::type
  393. , typename mpl::deref< iter_7 > ::type
  394. , typename mpl::deref< iter_8 > ::type
  395. , typename mpl::deref< iter_9 > ::type
  396. , typename mpl::deref< iter_10 > ::type
  397. , typename mpl::deref< iter_11 > ::type
  398. , typename mpl::deref< iter_12 > ::type
  399. , typename mpl::deref< iter_13 > ::type
  400. , typename mpl::deref< iter_14 > ::type
  401. , typename mpl::deref< iter_15 > ::type
  402. , typename mpl::deref< iter_16 > ::type
  403. , typename mpl::deref< iter_17 > ::type
  404. , typename mpl::deref< iter_18 > ::type
  405. , typename mpl::deref< iter_19 > ::type
  406. , typename mpl::deref< iter_20 > ::type
  407. , typename mpl::deref< iter_21 > ::type
  408. , typename mpl::deref< iter_22 > ::type
  409. , typename mpl::deref< iter_23 > ::type
  410. , typename mpl::deref< iter_24 > ::type
  411. , typename mpl::deref< iter_25 > ::type
  412. , typename mpl::deref< iter_26 > ::type
  413. > ::type type;
  414. };
  415. };
  416. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 >
  417. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
  418. {
  419. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 BOOST_FT_ell) BOOST_FT_cv ;
  420. };
  421. template< >
  422. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 >
  423. {
  424. template<typename S> struct synthesize_impl_i
  425. {
  426. private:
  427. typedef typename mpl::begin<S> ::type iter_0;
  428. typedef typename mpl::next< iter_0 > ::type iter_1;
  429. typedef typename mpl::next< iter_1 > ::type iter_2;
  430. typedef typename mpl::next< iter_2 > ::type iter_3;
  431. typedef typename mpl::next< iter_3 > ::type iter_4;
  432. typedef typename mpl::next< iter_4 > ::type iter_5;
  433. typedef typename mpl::next< iter_5 > ::type iter_6;
  434. typedef typename mpl::next< iter_6 > ::type iter_7;
  435. typedef typename mpl::next< iter_7 > ::type iter_8;
  436. typedef typename mpl::next< iter_8 > ::type iter_9;
  437. typedef typename mpl::next< iter_9 > ::type iter_10;
  438. typedef typename mpl::next< iter_10 > ::type iter_11;
  439. typedef typename mpl::next< iter_11 > ::type iter_12;
  440. typedef typename mpl::next< iter_12 > ::type iter_13;
  441. typedef typename mpl::next< iter_13 > ::type iter_14;
  442. typedef typename mpl::next< iter_14 > ::type iter_15;
  443. typedef typename mpl::next< iter_15 > ::type iter_16;
  444. typedef typename mpl::next< iter_16 > ::type iter_17;
  445. typedef typename mpl::next< iter_17 > ::type iter_18;
  446. typedef typename mpl::next< iter_18 > ::type iter_19;
  447. typedef typename mpl::next< iter_19 > ::type iter_20;
  448. typedef typename mpl::next< iter_20 > ::type iter_21;
  449. typedef typename mpl::next< iter_21 > ::type iter_22;
  450. typedef typename mpl::next< iter_22 > ::type iter_23;
  451. typedef typename mpl::next< iter_23 > ::type iter_24;
  452. typedef typename mpl::next< iter_24 > ::type iter_25;
  453. typedef typename mpl::next< iter_25 > ::type iter_26;
  454. typedef typename mpl::next< iter_26 > ::type iter_27;
  455. public:
  456. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27)
  457. < typename mpl::deref< iter_0 > ::type
  458. , typename detail::cv_traits<
  459. typename mpl::deref< iter_1 > ::type > ::type
  460. , typename mpl::deref< iter_2 > ::type
  461. , typename mpl::deref< iter_3 > ::type
  462. , typename mpl::deref< iter_4 > ::type
  463. , typename mpl::deref< iter_5 > ::type
  464. , typename mpl::deref< iter_6 > ::type
  465. , typename mpl::deref< iter_7 > ::type
  466. , typename mpl::deref< iter_8 > ::type
  467. , typename mpl::deref< iter_9 > ::type
  468. , typename mpl::deref< iter_10 > ::type
  469. , typename mpl::deref< iter_11 > ::type
  470. , typename mpl::deref< iter_12 > ::type
  471. , typename mpl::deref< iter_13 > ::type
  472. , typename mpl::deref< iter_14 > ::type
  473. , typename mpl::deref< iter_15 > ::type
  474. , typename mpl::deref< iter_16 > ::type
  475. , typename mpl::deref< iter_17 > ::type
  476. , typename mpl::deref< iter_18 > ::type
  477. , typename mpl::deref< iter_19 > ::type
  478. , typename mpl::deref< iter_20 > ::type
  479. , typename mpl::deref< iter_21 > ::type
  480. , typename mpl::deref< iter_22 > ::type
  481. , typename mpl::deref< iter_23 > ::type
  482. , typename mpl::deref< iter_24 > ::type
  483. , typename mpl::deref< iter_25 > ::type
  484. , typename mpl::deref< iter_26 > ::type
  485. , typename mpl::deref< iter_27 > ::type
  486. > ::type type;
  487. };
  488. };
  489. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 >
  490. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
  491. {
  492. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 BOOST_FT_ell) BOOST_FT_cv ;
  493. };
  494. template< >
  495. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 >
  496. {
  497. template<typename S> struct synthesize_impl_i
  498. {
  499. private:
  500. typedef typename mpl::begin<S> ::type iter_0;
  501. typedef typename mpl::next< iter_0 > ::type iter_1;
  502. typedef typename mpl::next< iter_1 > ::type iter_2;
  503. typedef typename mpl::next< iter_2 > ::type iter_3;
  504. typedef typename mpl::next< iter_3 > ::type iter_4;
  505. typedef typename mpl::next< iter_4 > ::type iter_5;
  506. typedef typename mpl::next< iter_5 > ::type iter_6;
  507. typedef typename mpl::next< iter_6 > ::type iter_7;
  508. typedef typename mpl::next< iter_7 > ::type iter_8;
  509. typedef typename mpl::next< iter_8 > ::type iter_9;
  510. typedef typename mpl::next< iter_9 > ::type iter_10;
  511. typedef typename mpl::next< iter_10 > ::type iter_11;
  512. typedef typename mpl::next< iter_11 > ::type iter_12;
  513. typedef typename mpl::next< iter_12 > ::type iter_13;
  514. typedef typename mpl::next< iter_13 > ::type iter_14;
  515. typedef typename mpl::next< iter_14 > ::type iter_15;
  516. typedef typename mpl::next< iter_15 > ::type iter_16;
  517. typedef typename mpl::next< iter_16 > ::type iter_17;
  518. typedef typename mpl::next< iter_17 > ::type iter_18;
  519. typedef typename mpl::next< iter_18 > ::type iter_19;
  520. typedef typename mpl::next< iter_19 > ::type iter_20;
  521. typedef typename mpl::next< iter_20 > ::type iter_21;
  522. typedef typename mpl::next< iter_21 > ::type iter_22;
  523. typedef typename mpl::next< iter_22 > ::type iter_23;
  524. typedef typename mpl::next< iter_23 > ::type iter_24;
  525. typedef typename mpl::next< iter_24 > ::type iter_25;
  526. typedef typename mpl::next< iter_25 > ::type iter_26;
  527. typedef typename mpl::next< iter_26 > ::type iter_27;
  528. typedef typename mpl::next< iter_27 > ::type iter_28;
  529. public:
  530. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28)
  531. < typename mpl::deref< iter_0 > ::type
  532. , typename detail::cv_traits<
  533. typename mpl::deref< iter_1 > ::type > ::type
  534. , typename mpl::deref< iter_2 > ::type
  535. , typename mpl::deref< iter_3 > ::type
  536. , typename mpl::deref< iter_4 > ::type
  537. , typename mpl::deref< iter_5 > ::type
  538. , typename mpl::deref< iter_6 > ::type
  539. , typename mpl::deref< iter_7 > ::type
  540. , typename mpl::deref< iter_8 > ::type
  541. , typename mpl::deref< iter_9 > ::type
  542. , typename mpl::deref< iter_10 > ::type
  543. , typename mpl::deref< iter_11 > ::type
  544. , typename mpl::deref< iter_12 > ::type
  545. , typename mpl::deref< iter_13 > ::type
  546. , typename mpl::deref< iter_14 > ::type
  547. , typename mpl::deref< iter_15 > ::type
  548. , typename mpl::deref< iter_16 > ::type
  549. , typename mpl::deref< iter_17 > ::type
  550. , typename mpl::deref< iter_18 > ::type
  551. , typename mpl::deref< iter_19 > ::type
  552. , typename mpl::deref< iter_20 > ::type
  553. , typename mpl::deref< iter_21 > ::type
  554. , typename mpl::deref< iter_22 > ::type
  555. , typename mpl::deref< iter_23 > ::type
  556. , typename mpl::deref< iter_24 > ::type
  557. , typename mpl::deref< iter_25 > ::type
  558. , typename mpl::deref< iter_26 > ::type
  559. , typename mpl::deref< iter_27 > ::type
  560. , typename mpl::deref< iter_28 > ::type
  561. > ::type type;
  562. };
  563. };
  564. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 >
  565. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
  566. {
  567. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 BOOST_FT_ell) BOOST_FT_cv ;
  568. };
  569. template< >
  570. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 >
  571. {
  572. template<typename S> struct synthesize_impl_i
  573. {
  574. private:
  575. typedef typename mpl::begin<S> ::type iter_0;
  576. typedef typename mpl::next< iter_0 > ::type iter_1;
  577. typedef typename mpl::next< iter_1 > ::type iter_2;
  578. typedef typename mpl::next< iter_2 > ::type iter_3;
  579. typedef typename mpl::next< iter_3 > ::type iter_4;
  580. typedef typename mpl::next< iter_4 > ::type iter_5;
  581. typedef typename mpl::next< iter_5 > ::type iter_6;
  582. typedef typename mpl::next< iter_6 > ::type iter_7;
  583. typedef typename mpl::next< iter_7 > ::type iter_8;
  584. typedef typename mpl::next< iter_8 > ::type iter_9;
  585. typedef typename mpl::next< iter_9 > ::type iter_10;
  586. typedef typename mpl::next< iter_10 > ::type iter_11;
  587. typedef typename mpl::next< iter_11 > ::type iter_12;
  588. typedef typename mpl::next< iter_12 > ::type iter_13;
  589. typedef typename mpl::next< iter_13 > ::type iter_14;
  590. typedef typename mpl::next< iter_14 > ::type iter_15;
  591. typedef typename mpl::next< iter_15 > ::type iter_16;
  592. typedef typename mpl::next< iter_16 > ::type iter_17;
  593. typedef typename mpl::next< iter_17 > ::type iter_18;
  594. typedef typename mpl::next< iter_18 > ::type iter_19;
  595. typedef typename mpl::next< iter_19 > ::type iter_20;
  596. typedef typename mpl::next< iter_20 > ::type iter_21;
  597. typedef typename mpl::next< iter_21 > ::type iter_22;
  598. typedef typename mpl::next< iter_22 > ::type iter_23;
  599. typedef typename mpl::next< iter_23 > ::type iter_24;
  600. typedef typename mpl::next< iter_24 > ::type iter_25;
  601. typedef typename mpl::next< iter_25 > ::type iter_26;
  602. typedef typename mpl::next< iter_26 > ::type iter_27;
  603. typedef typename mpl::next< iter_27 > ::type iter_28;
  604. typedef typename mpl::next< iter_28 > ::type iter_29;
  605. public:
  606. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29)
  607. < typename mpl::deref< iter_0 > ::type
  608. , typename detail::cv_traits<
  609. typename mpl::deref< iter_1 > ::type > ::type
  610. , typename mpl::deref< iter_2 > ::type
  611. , typename mpl::deref< iter_3 > ::type
  612. , typename mpl::deref< iter_4 > ::type
  613. , typename mpl::deref< iter_5 > ::type
  614. , typename mpl::deref< iter_6 > ::type
  615. , typename mpl::deref< iter_7 > ::type
  616. , typename mpl::deref< iter_8 > ::type
  617. , typename mpl::deref< iter_9 > ::type
  618. , typename mpl::deref< iter_10 > ::type
  619. , typename mpl::deref< iter_11 > ::type
  620. , typename mpl::deref< iter_12 > ::type
  621. , typename mpl::deref< iter_13 > ::type
  622. , typename mpl::deref< iter_14 > ::type
  623. , typename mpl::deref< iter_15 > ::type
  624. , typename mpl::deref< iter_16 > ::type
  625. , typename mpl::deref< iter_17 > ::type
  626. , typename mpl::deref< iter_18 > ::type
  627. , typename mpl::deref< iter_19 > ::type
  628. , typename mpl::deref< iter_20 > ::type
  629. , typename mpl::deref< iter_21 > ::type
  630. , typename mpl::deref< iter_22 > ::type
  631. , typename mpl::deref< iter_23 > ::type
  632. , typename mpl::deref< iter_24 > ::type
  633. , typename mpl::deref< iter_25 > ::type
  634. , typename mpl::deref< iter_26 > ::type
  635. , typename mpl::deref< iter_27 > ::type
  636. , typename mpl::deref< iter_28 > ::type
  637. , typename mpl::deref< iter_29 > ::type
  638. > ::type type;
  639. };
  640. };
  641. template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 >
  642. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
  643. {
  644. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 BOOST_FT_ell) BOOST_FT_cv ;
  645. };
  646. template< >
  647. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 >
  648. {
  649. template<typename S> struct synthesize_impl_i
  650. {
  651. private:
  652. typedef typename mpl::begin<S> ::type iter_0;
  653. typedef typename mpl::next< iter_0 > ::type iter_1;
  654. typedef typename mpl::next< iter_1 > ::type iter_2;
  655. typedef typename mpl::next< iter_2 > ::type iter_3;
  656. typedef typename mpl::next< iter_3 > ::type iter_4;
  657. typedef typename mpl::next< iter_4 > ::type iter_5;
  658. typedef typename mpl::next< iter_5 > ::type iter_6;
  659. typedef typename mpl::next< iter_6 > ::type iter_7;
  660. typedef typename mpl::next< iter_7 > ::type iter_8;
  661. typedef typename mpl::next< iter_8 > ::type iter_9;
  662. typedef typename mpl::next< iter_9 > ::type iter_10;
  663. typedef typename mpl::next< iter_10 > ::type iter_11;
  664. typedef typename mpl::next< iter_11 > ::type iter_12;
  665. typedef typename mpl::next< iter_12 > ::type iter_13;
  666. typedef typename mpl::next< iter_13 > ::type iter_14;
  667. typedef typename mpl::next< iter_14 > ::type iter_15;
  668. typedef typename mpl::next< iter_15 > ::type iter_16;
  669. typedef typename mpl::next< iter_16 > ::type iter_17;
  670. typedef typename mpl::next< iter_17 > ::type iter_18;
  671. typedef typename mpl::next< iter_18 > ::type iter_19;
  672. typedef typename mpl::next< iter_19 > ::type iter_20;
  673. typedef typename mpl::next< iter_20 > ::type iter_21;
  674. typedef typename mpl::next< iter_21 > ::type iter_22;
  675. typedef typename mpl::next< iter_22 > ::type iter_23;
  676. typedef typename mpl::next< iter_23 > ::type iter_24;
  677. typedef typename mpl::next< iter_24 > ::type iter_25;
  678. typedef typename mpl::next< iter_25 > ::type iter_26;
  679. typedef typename mpl::next< iter_26 > ::type iter_27;
  680. typedef typename mpl::next< iter_27 > ::type iter_28;
  681. typedef typename mpl::next< iter_28 > ::type iter_29;
  682. typedef typename mpl::next< iter_29 > ::type iter_30;
  683. public:
  684. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30)
  685. < typename mpl::deref< iter_0 > ::type
  686. , typename detail::cv_traits<
  687. typename mpl::deref< iter_1 > ::type > ::type
  688. , typename mpl::deref< iter_2 > ::type
  689. , typename mpl::deref< iter_3 > ::type
  690. , typename mpl::deref< iter_4 > ::type
  691. , typename mpl::deref< iter_5 > ::type
  692. , typename mpl::deref< iter_6 > ::type
  693. , typename mpl::deref< iter_7 > ::type
  694. , typename mpl::deref< iter_8 > ::type
  695. , typename mpl::deref< iter_9 > ::type
  696. , typename mpl::deref< iter_10 > ::type
  697. , typename mpl::deref< iter_11 > ::type
  698. , typename mpl::deref< iter_12 > ::type
  699. , typename mpl::deref< iter_13 > ::type
  700. , typename mpl::deref< iter_14 > ::type
  701. , typename mpl::deref< iter_15 > ::type
  702. , typename mpl::deref< iter_16 > ::type
  703. , typename mpl::deref< iter_17 > ::type
  704. , typename mpl::deref< iter_18 > ::type
  705. , typename mpl::deref< iter_19 > ::type
  706. , typename mpl::deref< iter_20 > ::type
  707. , typename mpl::deref< iter_21 > ::type
  708. , typename mpl::deref< iter_22 > ::type
  709. , typename mpl::deref< iter_23 > ::type
  710. , typename mpl::deref< iter_24 > ::type
  711. , typename mpl::deref< iter_25 > ::type
  712. , typename mpl::deref< iter_26 > ::type
  713. , typename mpl::deref< iter_27 > ::type
  714. , typename mpl::deref< iter_28 > ::type
  715. , typename mpl::deref< iter_29 > ::type
  716. , typename mpl::deref< iter_30 > ::type
  717. > ::type type;
  718. };
  719. };
  720. # undef BOOST_FT_make_type
  721. # undef BOOST_FT_make_type_impl