arity40_0.hpp 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917
  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/arity30_0.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 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 >
  21. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
  22. {
  23. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 BOOST_FT_ell) BOOST_FT_cv ;
  24. };
  25. template< >
  26. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 >
  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. typedef typename mpl::next< iter_21 > ::type iter_22;
  54. typedef typename mpl::next< iter_22 > ::type iter_23;
  55. typedef typename mpl::next< iter_23 > ::type iter_24;
  56. typedef typename mpl::next< iter_24 > ::type iter_25;
  57. typedef typename mpl::next< iter_25 > ::type iter_26;
  58. typedef typename mpl::next< iter_26 > ::type iter_27;
  59. typedef typename mpl::next< iter_27 > ::type iter_28;
  60. typedef typename mpl::next< iter_28 > ::type iter_29;
  61. typedef typename mpl::next< iter_29 > ::type iter_30;
  62. typedef typename mpl::next< iter_30 > ::type iter_31;
  63. public:
  64. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31)
  65. < typename mpl::deref< iter_0 > ::type
  66. , typename mpl::deref< iter_1 > ::type
  67. , typename mpl::deref< iter_2 > ::type
  68. , typename mpl::deref< iter_3 > ::type
  69. , typename mpl::deref< iter_4 > ::type
  70. , typename mpl::deref< iter_5 > ::type
  71. , typename mpl::deref< iter_6 > ::type
  72. , typename mpl::deref< iter_7 > ::type
  73. , typename mpl::deref< iter_8 > ::type
  74. , typename mpl::deref< iter_9 > ::type
  75. , typename mpl::deref< iter_10 > ::type
  76. , typename mpl::deref< iter_11 > ::type
  77. , typename mpl::deref< iter_12 > ::type
  78. , typename mpl::deref< iter_13 > ::type
  79. , typename mpl::deref< iter_14 > ::type
  80. , typename mpl::deref< iter_15 > ::type
  81. , typename mpl::deref< iter_16 > ::type
  82. , typename mpl::deref< iter_17 > ::type
  83. , typename mpl::deref< iter_18 > ::type
  84. , typename mpl::deref< iter_19 > ::type
  85. , typename mpl::deref< iter_20 > ::type
  86. , typename mpl::deref< iter_21 > ::type
  87. , typename mpl::deref< iter_22 > ::type
  88. , typename mpl::deref< iter_23 > ::type
  89. , typename mpl::deref< iter_24 > ::type
  90. , typename mpl::deref< iter_25 > ::type
  91. , typename mpl::deref< iter_26 > ::type
  92. , typename mpl::deref< iter_27 > ::type
  93. , typename mpl::deref< iter_28 > ::type
  94. , typename mpl::deref< iter_29 > ::type
  95. , typename mpl::deref< iter_30 > ::type
  96. , typename mpl::deref< iter_31 > ::type
  97. > ::type type;
  98. };
  99. };
  100. 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 , typename T30 , typename T31 >
  101. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
  102. {
  103. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 BOOST_FT_ell) BOOST_FT_cv ;
  104. };
  105. template< >
  106. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 >
  107. {
  108. template<typename S> struct synthesize_impl_i
  109. {
  110. private:
  111. typedef typename mpl::begin<S> ::type iter_0;
  112. typedef typename mpl::next< iter_0 > ::type iter_1;
  113. typedef typename mpl::next< iter_1 > ::type iter_2;
  114. typedef typename mpl::next< iter_2 > ::type iter_3;
  115. typedef typename mpl::next< iter_3 > ::type iter_4;
  116. typedef typename mpl::next< iter_4 > ::type iter_5;
  117. typedef typename mpl::next< iter_5 > ::type iter_6;
  118. typedef typename mpl::next< iter_6 > ::type iter_7;
  119. typedef typename mpl::next< iter_7 > ::type iter_8;
  120. typedef typename mpl::next< iter_8 > ::type iter_9;
  121. typedef typename mpl::next< iter_9 > ::type iter_10;
  122. typedef typename mpl::next< iter_10 > ::type iter_11;
  123. typedef typename mpl::next< iter_11 > ::type iter_12;
  124. typedef typename mpl::next< iter_12 > ::type iter_13;
  125. typedef typename mpl::next< iter_13 > ::type iter_14;
  126. typedef typename mpl::next< iter_14 > ::type iter_15;
  127. typedef typename mpl::next< iter_15 > ::type iter_16;
  128. typedef typename mpl::next< iter_16 > ::type iter_17;
  129. typedef typename mpl::next< iter_17 > ::type iter_18;
  130. typedef typename mpl::next< iter_18 > ::type iter_19;
  131. typedef typename mpl::next< iter_19 > ::type iter_20;
  132. typedef typename mpl::next< iter_20 > ::type iter_21;
  133. typedef typename mpl::next< iter_21 > ::type iter_22;
  134. typedef typename mpl::next< iter_22 > ::type iter_23;
  135. typedef typename mpl::next< iter_23 > ::type iter_24;
  136. typedef typename mpl::next< iter_24 > ::type iter_25;
  137. typedef typename mpl::next< iter_25 > ::type iter_26;
  138. typedef typename mpl::next< iter_26 > ::type iter_27;
  139. typedef typename mpl::next< iter_27 > ::type iter_28;
  140. typedef typename mpl::next< iter_28 > ::type iter_29;
  141. typedef typename mpl::next< iter_29 > ::type iter_30;
  142. typedef typename mpl::next< iter_30 > ::type iter_31;
  143. typedef typename mpl::next< iter_31 > ::type iter_32;
  144. public:
  145. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32)
  146. < typename mpl::deref< iter_0 > ::type
  147. , typename mpl::deref< iter_1 > ::type
  148. , typename mpl::deref< iter_2 > ::type
  149. , typename mpl::deref< iter_3 > ::type
  150. , typename mpl::deref< iter_4 > ::type
  151. , typename mpl::deref< iter_5 > ::type
  152. , typename mpl::deref< iter_6 > ::type
  153. , typename mpl::deref< iter_7 > ::type
  154. , typename mpl::deref< iter_8 > ::type
  155. , typename mpl::deref< iter_9 > ::type
  156. , typename mpl::deref< iter_10 > ::type
  157. , typename mpl::deref< iter_11 > ::type
  158. , typename mpl::deref< iter_12 > ::type
  159. , typename mpl::deref< iter_13 > ::type
  160. , typename mpl::deref< iter_14 > ::type
  161. , typename mpl::deref< iter_15 > ::type
  162. , typename mpl::deref< iter_16 > ::type
  163. , typename mpl::deref< iter_17 > ::type
  164. , typename mpl::deref< iter_18 > ::type
  165. , typename mpl::deref< iter_19 > ::type
  166. , typename mpl::deref< iter_20 > ::type
  167. , typename mpl::deref< iter_21 > ::type
  168. , typename mpl::deref< iter_22 > ::type
  169. , typename mpl::deref< iter_23 > ::type
  170. , typename mpl::deref< iter_24 > ::type
  171. , typename mpl::deref< iter_25 > ::type
  172. , typename mpl::deref< iter_26 > ::type
  173. , typename mpl::deref< iter_27 > ::type
  174. , typename mpl::deref< iter_28 > ::type
  175. , typename mpl::deref< iter_29 > ::type
  176. , typename mpl::deref< iter_30 > ::type
  177. , typename mpl::deref< iter_31 > ::type
  178. , typename mpl::deref< iter_32 > ::type
  179. > ::type type;
  180. };
  181. };
  182. 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 , typename T30 , typename T31 , typename T32 >
  183. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
  184. {
  185. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 BOOST_FT_ell) BOOST_FT_cv ;
  186. };
  187. template< >
  188. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 >
  189. {
  190. template<typename S> struct synthesize_impl_i
  191. {
  192. private:
  193. typedef typename mpl::begin<S> ::type iter_0;
  194. typedef typename mpl::next< iter_0 > ::type iter_1;
  195. typedef typename mpl::next< iter_1 > ::type iter_2;
  196. typedef typename mpl::next< iter_2 > ::type iter_3;
  197. typedef typename mpl::next< iter_3 > ::type iter_4;
  198. typedef typename mpl::next< iter_4 > ::type iter_5;
  199. typedef typename mpl::next< iter_5 > ::type iter_6;
  200. typedef typename mpl::next< iter_6 > ::type iter_7;
  201. typedef typename mpl::next< iter_7 > ::type iter_8;
  202. typedef typename mpl::next< iter_8 > ::type iter_9;
  203. typedef typename mpl::next< iter_9 > ::type iter_10;
  204. typedef typename mpl::next< iter_10 > ::type iter_11;
  205. typedef typename mpl::next< iter_11 > ::type iter_12;
  206. typedef typename mpl::next< iter_12 > ::type iter_13;
  207. typedef typename mpl::next< iter_13 > ::type iter_14;
  208. typedef typename mpl::next< iter_14 > ::type iter_15;
  209. typedef typename mpl::next< iter_15 > ::type iter_16;
  210. typedef typename mpl::next< iter_16 > ::type iter_17;
  211. typedef typename mpl::next< iter_17 > ::type iter_18;
  212. typedef typename mpl::next< iter_18 > ::type iter_19;
  213. typedef typename mpl::next< iter_19 > ::type iter_20;
  214. typedef typename mpl::next< iter_20 > ::type iter_21;
  215. typedef typename mpl::next< iter_21 > ::type iter_22;
  216. typedef typename mpl::next< iter_22 > ::type iter_23;
  217. typedef typename mpl::next< iter_23 > ::type iter_24;
  218. typedef typename mpl::next< iter_24 > ::type iter_25;
  219. typedef typename mpl::next< iter_25 > ::type iter_26;
  220. typedef typename mpl::next< iter_26 > ::type iter_27;
  221. typedef typename mpl::next< iter_27 > ::type iter_28;
  222. typedef typename mpl::next< iter_28 > ::type iter_29;
  223. typedef typename mpl::next< iter_29 > ::type iter_30;
  224. typedef typename mpl::next< iter_30 > ::type iter_31;
  225. typedef typename mpl::next< iter_31 > ::type iter_32;
  226. typedef typename mpl::next< iter_32 > ::type iter_33;
  227. public:
  228. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33)
  229. < typename mpl::deref< iter_0 > ::type
  230. , typename mpl::deref< iter_1 > ::type
  231. , typename mpl::deref< iter_2 > ::type
  232. , typename mpl::deref< iter_3 > ::type
  233. , typename mpl::deref< iter_4 > ::type
  234. , typename mpl::deref< iter_5 > ::type
  235. , typename mpl::deref< iter_6 > ::type
  236. , typename mpl::deref< iter_7 > ::type
  237. , typename mpl::deref< iter_8 > ::type
  238. , typename mpl::deref< iter_9 > ::type
  239. , typename mpl::deref< iter_10 > ::type
  240. , typename mpl::deref< iter_11 > ::type
  241. , typename mpl::deref< iter_12 > ::type
  242. , typename mpl::deref< iter_13 > ::type
  243. , typename mpl::deref< iter_14 > ::type
  244. , typename mpl::deref< iter_15 > ::type
  245. , typename mpl::deref< iter_16 > ::type
  246. , typename mpl::deref< iter_17 > ::type
  247. , typename mpl::deref< iter_18 > ::type
  248. , typename mpl::deref< iter_19 > ::type
  249. , typename mpl::deref< iter_20 > ::type
  250. , typename mpl::deref< iter_21 > ::type
  251. , typename mpl::deref< iter_22 > ::type
  252. , typename mpl::deref< iter_23 > ::type
  253. , typename mpl::deref< iter_24 > ::type
  254. , typename mpl::deref< iter_25 > ::type
  255. , typename mpl::deref< iter_26 > ::type
  256. , typename mpl::deref< iter_27 > ::type
  257. , typename mpl::deref< iter_28 > ::type
  258. , typename mpl::deref< iter_29 > ::type
  259. , typename mpl::deref< iter_30 > ::type
  260. , typename mpl::deref< iter_31 > ::type
  261. , typename mpl::deref< iter_32 > ::type
  262. , typename mpl::deref< iter_33 > ::type
  263. > ::type type;
  264. };
  265. };
  266. 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 , typename T30 , typename T31 , typename T32 , typename T33 >
  267. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
  268. {
  269. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 BOOST_FT_ell) BOOST_FT_cv ;
  270. };
  271. template< >
  272. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 >
  273. {
  274. template<typename S> struct synthesize_impl_i
  275. {
  276. private:
  277. typedef typename mpl::begin<S> ::type iter_0;
  278. typedef typename mpl::next< iter_0 > ::type iter_1;
  279. typedef typename mpl::next< iter_1 > ::type iter_2;
  280. typedef typename mpl::next< iter_2 > ::type iter_3;
  281. typedef typename mpl::next< iter_3 > ::type iter_4;
  282. typedef typename mpl::next< iter_4 > ::type iter_5;
  283. typedef typename mpl::next< iter_5 > ::type iter_6;
  284. typedef typename mpl::next< iter_6 > ::type iter_7;
  285. typedef typename mpl::next< iter_7 > ::type iter_8;
  286. typedef typename mpl::next< iter_8 > ::type iter_9;
  287. typedef typename mpl::next< iter_9 > ::type iter_10;
  288. typedef typename mpl::next< iter_10 > ::type iter_11;
  289. typedef typename mpl::next< iter_11 > ::type iter_12;
  290. typedef typename mpl::next< iter_12 > ::type iter_13;
  291. typedef typename mpl::next< iter_13 > ::type iter_14;
  292. typedef typename mpl::next< iter_14 > ::type iter_15;
  293. typedef typename mpl::next< iter_15 > ::type iter_16;
  294. typedef typename mpl::next< iter_16 > ::type iter_17;
  295. typedef typename mpl::next< iter_17 > ::type iter_18;
  296. typedef typename mpl::next< iter_18 > ::type iter_19;
  297. typedef typename mpl::next< iter_19 > ::type iter_20;
  298. typedef typename mpl::next< iter_20 > ::type iter_21;
  299. typedef typename mpl::next< iter_21 > ::type iter_22;
  300. typedef typename mpl::next< iter_22 > ::type iter_23;
  301. typedef typename mpl::next< iter_23 > ::type iter_24;
  302. typedef typename mpl::next< iter_24 > ::type iter_25;
  303. typedef typename mpl::next< iter_25 > ::type iter_26;
  304. typedef typename mpl::next< iter_26 > ::type iter_27;
  305. typedef typename mpl::next< iter_27 > ::type iter_28;
  306. typedef typename mpl::next< iter_28 > ::type iter_29;
  307. typedef typename mpl::next< iter_29 > ::type iter_30;
  308. typedef typename mpl::next< iter_30 > ::type iter_31;
  309. typedef typename mpl::next< iter_31 > ::type iter_32;
  310. typedef typename mpl::next< iter_32 > ::type iter_33;
  311. typedef typename mpl::next< iter_33 > ::type iter_34;
  312. public:
  313. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34)
  314. < typename mpl::deref< iter_0 > ::type
  315. , typename mpl::deref< iter_1 > ::type
  316. , typename mpl::deref< iter_2 > ::type
  317. , typename mpl::deref< iter_3 > ::type
  318. , typename mpl::deref< iter_4 > ::type
  319. , typename mpl::deref< iter_5 > ::type
  320. , typename mpl::deref< iter_6 > ::type
  321. , typename mpl::deref< iter_7 > ::type
  322. , typename mpl::deref< iter_8 > ::type
  323. , typename mpl::deref< iter_9 > ::type
  324. , typename mpl::deref< iter_10 > ::type
  325. , typename mpl::deref< iter_11 > ::type
  326. , typename mpl::deref< iter_12 > ::type
  327. , typename mpl::deref< iter_13 > ::type
  328. , typename mpl::deref< iter_14 > ::type
  329. , typename mpl::deref< iter_15 > ::type
  330. , typename mpl::deref< iter_16 > ::type
  331. , typename mpl::deref< iter_17 > ::type
  332. , typename mpl::deref< iter_18 > ::type
  333. , typename mpl::deref< iter_19 > ::type
  334. , typename mpl::deref< iter_20 > ::type
  335. , typename mpl::deref< iter_21 > ::type
  336. , typename mpl::deref< iter_22 > ::type
  337. , typename mpl::deref< iter_23 > ::type
  338. , typename mpl::deref< iter_24 > ::type
  339. , typename mpl::deref< iter_25 > ::type
  340. , typename mpl::deref< iter_26 > ::type
  341. , typename mpl::deref< iter_27 > ::type
  342. , typename mpl::deref< iter_28 > ::type
  343. , typename mpl::deref< iter_29 > ::type
  344. , typename mpl::deref< iter_30 > ::type
  345. , typename mpl::deref< iter_31 > ::type
  346. , typename mpl::deref< iter_32 > ::type
  347. , typename mpl::deref< iter_33 > ::type
  348. , typename mpl::deref< iter_34 > ::type
  349. > ::type type;
  350. };
  351. };
  352. 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 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 >
  353. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
  354. {
  355. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 , T34 BOOST_FT_ell) BOOST_FT_cv ;
  356. };
  357. template< >
  358. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 >
  359. {
  360. template<typename S> struct synthesize_impl_i
  361. {
  362. private:
  363. typedef typename mpl::begin<S> ::type iter_0;
  364. typedef typename mpl::next< iter_0 > ::type iter_1;
  365. typedef typename mpl::next< iter_1 > ::type iter_2;
  366. typedef typename mpl::next< iter_2 > ::type iter_3;
  367. typedef typename mpl::next< iter_3 > ::type iter_4;
  368. typedef typename mpl::next< iter_4 > ::type iter_5;
  369. typedef typename mpl::next< iter_5 > ::type iter_6;
  370. typedef typename mpl::next< iter_6 > ::type iter_7;
  371. typedef typename mpl::next< iter_7 > ::type iter_8;
  372. typedef typename mpl::next< iter_8 > ::type iter_9;
  373. typedef typename mpl::next< iter_9 > ::type iter_10;
  374. typedef typename mpl::next< iter_10 > ::type iter_11;
  375. typedef typename mpl::next< iter_11 > ::type iter_12;
  376. typedef typename mpl::next< iter_12 > ::type iter_13;
  377. typedef typename mpl::next< iter_13 > ::type iter_14;
  378. typedef typename mpl::next< iter_14 > ::type iter_15;
  379. typedef typename mpl::next< iter_15 > ::type iter_16;
  380. typedef typename mpl::next< iter_16 > ::type iter_17;
  381. typedef typename mpl::next< iter_17 > ::type iter_18;
  382. typedef typename mpl::next< iter_18 > ::type iter_19;
  383. typedef typename mpl::next< iter_19 > ::type iter_20;
  384. typedef typename mpl::next< iter_20 > ::type iter_21;
  385. typedef typename mpl::next< iter_21 > ::type iter_22;
  386. typedef typename mpl::next< iter_22 > ::type iter_23;
  387. typedef typename mpl::next< iter_23 > ::type iter_24;
  388. typedef typename mpl::next< iter_24 > ::type iter_25;
  389. typedef typename mpl::next< iter_25 > ::type iter_26;
  390. typedef typename mpl::next< iter_26 > ::type iter_27;
  391. typedef typename mpl::next< iter_27 > ::type iter_28;
  392. typedef typename mpl::next< iter_28 > ::type iter_29;
  393. typedef typename mpl::next< iter_29 > ::type iter_30;
  394. typedef typename mpl::next< iter_30 > ::type iter_31;
  395. typedef typename mpl::next< iter_31 > ::type iter_32;
  396. typedef typename mpl::next< iter_32 > ::type iter_33;
  397. typedef typename mpl::next< iter_33 > ::type iter_34;
  398. typedef typename mpl::next< iter_34 > ::type iter_35;
  399. public:
  400. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35)
  401. < typename mpl::deref< iter_0 > ::type
  402. , typename mpl::deref< iter_1 > ::type
  403. , typename mpl::deref< iter_2 > ::type
  404. , typename mpl::deref< iter_3 > ::type
  405. , typename mpl::deref< iter_4 > ::type
  406. , typename mpl::deref< iter_5 > ::type
  407. , typename mpl::deref< iter_6 > ::type
  408. , typename mpl::deref< iter_7 > ::type
  409. , typename mpl::deref< iter_8 > ::type
  410. , typename mpl::deref< iter_9 > ::type
  411. , typename mpl::deref< iter_10 > ::type
  412. , typename mpl::deref< iter_11 > ::type
  413. , typename mpl::deref< iter_12 > ::type
  414. , typename mpl::deref< iter_13 > ::type
  415. , typename mpl::deref< iter_14 > ::type
  416. , typename mpl::deref< iter_15 > ::type
  417. , typename mpl::deref< iter_16 > ::type
  418. , typename mpl::deref< iter_17 > ::type
  419. , typename mpl::deref< iter_18 > ::type
  420. , typename mpl::deref< iter_19 > ::type
  421. , typename mpl::deref< iter_20 > ::type
  422. , typename mpl::deref< iter_21 > ::type
  423. , typename mpl::deref< iter_22 > ::type
  424. , typename mpl::deref< iter_23 > ::type
  425. , typename mpl::deref< iter_24 > ::type
  426. , typename mpl::deref< iter_25 > ::type
  427. , typename mpl::deref< iter_26 > ::type
  428. , typename mpl::deref< iter_27 > ::type
  429. , typename mpl::deref< iter_28 > ::type
  430. , typename mpl::deref< iter_29 > ::type
  431. , typename mpl::deref< iter_30 > ::type
  432. , typename mpl::deref< iter_31 > ::type
  433. , typename mpl::deref< iter_32 > ::type
  434. , typename mpl::deref< iter_33 > ::type
  435. , typename mpl::deref< iter_34 > ::type
  436. , typename mpl::deref< iter_35 > ::type
  437. > ::type type;
  438. };
  439. };
  440. 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 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 >
  441. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
  442. {
  443. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 , T34 , T35 BOOST_FT_ell) BOOST_FT_cv ;
  444. };
  445. template< >
  446. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 >
  447. {
  448. template<typename S> struct synthesize_impl_i
  449. {
  450. private:
  451. typedef typename mpl::begin<S> ::type iter_0;
  452. typedef typename mpl::next< iter_0 > ::type iter_1;
  453. typedef typename mpl::next< iter_1 > ::type iter_2;
  454. typedef typename mpl::next< iter_2 > ::type iter_3;
  455. typedef typename mpl::next< iter_3 > ::type iter_4;
  456. typedef typename mpl::next< iter_4 > ::type iter_5;
  457. typedef typename mpl::next< iter_5 > ::type iter_6;
  458. typedef typename mpl::next< iter_6 > ::type iter_7;
  459. typedef typename mpl::next< iter_7 > ::type iter_8;
  460. typedef typename mpl::next< iter_8 > ::type iter_9;
  461. typedef typename mpl::next< iter_9 > ::type iter_10;
  462. typedef typename mpl::next< iter_10 > ::type iter_11;
  463. typedef typename mpl::next< iter_11 > ::type iter_12;
  464. typedef typename mpl::next< iter_12 > ::type iter_13;
  465. typedef typename mpl::next< iter_13 > ::type iter_14;
  466. typedef typename mpl::next< iter_14 > ::type iter_15;
  467. typedef typename mpl::next< iter_15 > ::type iter_16;
  468. typedef typename mpl::next< iter_16 > ::type iter_17;
  469. typedef typename mpl::next< iter_17 > ::type iter_18;
  470. typedef typename mpl::next< iter_18 > ::type iter_19;
  471. typedef typename mpl::next< iter_19 > ::type iter_20;
  472. typedef typename mpl::next< iter_20 > ::type iter_21;
  473. typedef typename mpl::next< iter_21 > ::type iter_22;
  474. typedef typename mpl::next< iter_22 > ::type iter_23;
  475. typedef typename mpl::next< iter_23 > ::type iter_24;
  476. typedef typename mpl::next< iter_24 > ::type iter_25;
  477. typedef typename mpl::next< iter_25 > ::type iter_26;
  478. typedef typename mpl::next< iter_26 > ::type iter_27;
  479. typedef typename mpl::next< iter_27 > ::type iter_28;
  480. typedef typename mpl::next< iter_28 > ::type iter_29;
  481. typedef typename mpl::next< iter_29 > ::type iter_30;
  482. typedef typename mpl::next< iter_30 > ::type iter_31;
  483. typedef typename mpl::next< iter_31 > ::type iter_32;
  484. typedef typename mpl::next< iter_32 > ::type iter_33;
  485. typedef typename mpl::next< iter_33 > ::type iter_34;
  486. typedef typename mpl::next< iter_34 > ::type iter_35;
  487. typedef typename mpl::next< iter_35 > ::type iter_36;
  488. public:
  489. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36)
  490. < typename mpl::deref< iter_0 > ::type
  491. , typename mpl::deref< iter_1 > ::type
  492. , typename mpl::deref< iter_2 > ::type
  493. , typename mpl::deref< iter_3 > ::type
  494. , typename mpl::deref< iter_4 > ::type
  495. , typename mpl::deref< iter_5 > ::type
  496. , typename mpl::deref< iter_6 > ::type
  497. , typename mpl::deref< iter_7 > ::type
  498. , typename mpl::deref< iter_8 > ::type
  499. , typename mpl::deref< iter_9 > ::type
  500. , typename mpl::deref< iter_10 > ::type
  501. , typename mpl::deref< iter_11 > ::type
  502. , typename mpl::deref< iter_12 > ::type
  503. , typename mpl::deref< iter_13 > ::type
  504. , typename mpl::deref< iter_14 > ::type
  505. , typename mpl::deref< iter_15 > ::type
  506. , typename mpl::deref< iter_16 > ::type
  507. , typename mpl::deref< iter_17 > ::type
  508. , typename mpl::deref< iter_18 > ::type
  509. , typename mpl::deref< iter_19 > ::type
  510. , typename mpl::deref< iter_20 > ::type
  511. , typename mpl::deref< iter_21 > ::type
  512. , typename mpl::deref< iter_22 > ::type
  513. , typename mpl::deref< iter_23 > ::type
  514. , typename mpl::deref< iter_24 > ::type
  515. , typename mpl::deref< iter_25 > ::type
  516. , typename mpl::deref< iter_26 > ::type
  517. , typename mpl::deref< iter_27 > ::type
  518. , typename mpl::deref< iter_28 > ::type
  519. , typename mpl::deref< iter_29 > ::type
  520. , typename mpl::deref< iter_30 > ::type
  521. , typename mpl::deref< iter_31 > ::type
  522. , typename mpl::deref< iter_32 > ::type
  523. , typename mpl::deref< iter_33 > ::type
  524. , typename mpl::deref< iter_34 > ::type
  525. , typename mpl::deref< iter_35 > ::type
  526. , typename mpl::deref< iter_36 > ::type
  527. > ::type type;
  528. };
  529. };
  530. 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 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 >
  531. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
  532. {
  533. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 , T34 , T35 , T36 BOOST_FT_ell) BOOST_FT_cv ;
  534. };
  535. template< >
  536. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 >
  537. {
  538. template<typename S> struct synthesize_impl_i
  539. {
  540. private:
  541. typedef typename mpl::begin<S> ::type iter_0;
  542. typedef typename mpl::next< iter_0 > ::type iter_1;
  543. typedef typename mpl::next< iter_1 > ::type iter_2;
  544. typedef typename mpl::next< iter_2 > ::type iter_3;
  545. typedef typename mpl::next< iter_3 > ::type iter_4;
  546. typedef typename mpl::next< iter_4 > ::type iter_5;
  547. typedef typename mpl::next< iter_5 > ::type iter_6;
  548. typedef typename mpl::next< iter_6 > ::type iter_7;
  549. typedef typename mpl::next< iter_7 > ::type iter_8;
  550. typedef typename mpl::next< iter_8 > ::type iter_9;
  551. typedef typename mpl::next< iter_9 > ::type iter_10;
  552. typedef typename mpl::next< iter_10 > ::type iter_11;
  553. typedef typename mpl::next< iter_11 > ::type iter_12;
  554. typedef typename mpl::next< iter_12 > ::type iter_13;
  555. typedef typename mpl::next< iter_13 > ::type iter_14;
  556. typedef typename mpl::next< iter_14 > ::type iter_15;
  557. typedef typename mpl::next< iter_15 > ::type iter_16;
  558. typedef typename mpl::next< iter_16 > ::type iter_17;
  559. typedef typename mpl::next< iter_17 > ::type iter_18;
  560. typedef typename mpl::next< iter_18 > ::type iter_19;
  561. typedef typename mpl::next< iter_19 > ::type iter_20;
  562. typedef typename mpl::next< iter_20 > ::type iter_21;
  563. typedef typename mpl::next< iter_21 > ::type iter_22;
  564. typedef typename mpl::next< iter_22 > ::type iter_23;
  565. typedef typename mpl::next< iter_23 > ::type iter_24;
  566. typedef typename mpl::next< iter_24 > ::type iter_25;
  567. typedef typename mpl::next< iter_25 > ::type iter_26;
  568. typedef typename mpl::next< iter_26 > ::type iter_27;
  569. typedef typename mpl::next< iter_27 > ::type iter_28;
  570. typedef typename mpl::next< iter_28 > ::type iter_29;
  571. typedef typename mpl::next< iter_29 > ::type iter_30;
  572. typedef typename mpl::next< iter_30 > ::type iter_31;
  573. typedef typename mpl::next< iter_31 > ::type iter_32;
  574. typedef typename mpl::next< iter_32 > ::type iter_33;
  575. typedef typename mpl::next< iter_33 > ::type iter_34;
  576. typedef typename mpl::next< iter_34 > ::type iter_35;
  577. typedef typename mpl::next< iter_35 > ::type iter_36;
  578. typedef typename mpl::next< iter_36 > ::type iter_37;
  579. public:
  580. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37)
  581. < typename mpl::deref< iter_0 > ::type
  582. , typename mpl::deref< iter_1 > ::type
  583. , typename mpl::deref< iter_2 > ::type
  584. , typename mpl::deref< iter_3 > ::type
  585. , typename mpl::deref< iter_4 > ::type
  586. , typename mpl::deref< iter_5 > ::type
  587. , typename mpl::deref< iter_6 > ::type
  588. , typename mpl::deref< iter_7 > ::type
  589. , typename mpl::deref< iter_8 > ::type
  590. , typename mpl::deref< iter_9 > ::type
  591. , typename mpl::deref< iter_10 > ::type
  592. , typename mpl::deref< iter_11 > ::type
  593. , typename mpl::deref< iter_12 > ::type
  594. , typename mpl::deref< iter_13 > ::type
  595. , typename mpl::deref< iter_14 > ::type
  596. , typename mpl::deref< iter_15 > ::type
  597. , typename mpl::deref< iter_16 > ::type
  598. , typename mpl::deref< iter_17 > ::type
  599. , typename mpl::deref< iter_18 > ::type
  600. , typename mpl::deref< iter_19 > ::type
  601. , typename mpl::deref< iter_20 > ::type
  602. , typename mpl::deref< iter_21 > ::type
  603. , typename mpl::deref< iter_22 > ::type
  604. , typename mpl::deref< iter_23 > ::type
  605. , typename mpl::deref< iter_24 > ::type
  606. , typename mpl::deref< iter_25 > ::type
  607. , typename mpl::deref< iter_26 > ::type
  608. , typename mpl::deref< iter_27 > ::type
  609. , typename mpl::deref< iter_28 > ::type
  610. , typename mpl::deref< iter_29 > ::type
  611. , typename mpl::deref< iter_30 > ::type
  612. , typename mpl::deref< iter_31 > ::type
  613. , typename mpl::deref< iter_32 > ::type
  614. , typename mpl::deref< iter_33 > ::type
  615. , typename mpl::deref< iter_34 > ::type
  616. , typename mpl::deref< iter_35 > ::type
  617. , typename mpl::deref< iter_36 > ::type
  618. , typename mpl::deref< iter_37 > ::type
  619. > ::type type;
  620. };
  621. };
  622. 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 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 >
  623. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
  624. {
  625. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 BOOST_FT_ell) BOOST_FT_cv ;
  626. };
  627. template< >
  628. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 >
  629. {
  630. template<typename S> struct synthesize_impl_i
  631. {
  632. private:
  633. typedef typename mpl::begin<S> ::type iter_0;
  634. typedef typename mpl::next< iter_0 > ::type iter_1;
  635. typedef typename mpl::next< iter_1 > ::type iter_2;
  636. typedef typename mpl::next< iter_2 > ::type iter_3;
  637. typedef typename mpl::next< iter_3 > ::type iter_4;
  638. typedef typename mpl::next< iter_4 > ::type iter_5;
  639. typedef typename mpl::next< iter_5 > ::type iter_6;
  640. typedef typename mpl::next< iter_6 > ::type iter_7;
  641. typedef typename mpl::next< iter_7 > ::type iter_8;
  642. typedef typename mpl::next< iter_8 > ::type iter_9;
  643. typedef typename mpl::next< iter_9 > ::type iter_10;
  644. typedef typename mpl::next< iter_10 > ::type iter_11;
  645. typedef typename mpl::next< iter_11 > ::type iter_12;
  646. typedef typename mpl::next< iter_12 > ::type iter_13;
  647. typedef typename mpl::next< iter_13 > ::type iter_14;
  648. typedef typename mpl::next< iter_14 > ::type iter_15;
  649. typedef typename mpl::next< iter_15 > ::type iter_16;
  650. typedef typename mpl::next< iter_16 > ::type iter_17;
  651. typedef typename mpl::next< iter_17 > ::type iter_18;
  652. typedef typename mpl::next< iter_18 > ::type iter_19;
  653. typedef typename mpl::next< iter_19 > ::type iter_20;
  654. typedef typename mpl::next< iter_20 > ::type iter_21;
  655. typedef typename mpl::next< iter_21 > ::type iter_22;
  656. typedef typename mpl::next< iter_22 > ::type iter_23;
  657. typedef typename mpl::next< iter_23 > ::type iter_24;
  658. typedef typename mpl::next< iter_24 > ::type iter_25;
  659. typedef typename mpl::next< iter_25 > ::type iter_26;
  660. typedef typename mpl::next< iter_26 > ::type iter_27;
  661. typedef typename mpl::next< iter_27 > ::type iter_28;
  662. typedef typename mpl::next< iter_28 > ::type iter_29;
  663. typedef typename mpl::next< iter_29 > ::type iter_30;
  664. typedef typename mpl::next< iter_30 > ::type iter_31;
  665. typedef typename mpl::next< iter_31 > ::type iter_32;
  666. typedef typename mpl::next< iter_32 > ::type iter_33;
  667. typedef typename mpl::next< iter_33 > ::type iter_34;
  668. typedef typename mpl::next< iter_34 > ::type iter_35;
  669. typedef typename mpl::next< iter_35 > ::type iter_36;
  670. typedef typename mpl::next< iter_36 > ::type iter_37;
  671. typedef typename mpl::next< iter_37 > ::type iter_38;
  672. public:
  673. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38)
  674. < typename mpl::deref< iter_0 > ::type
  675. , typename mpl::deref< iter_1 > ::type
  676. , typename mpl::deref< iter_2 > ::type
  677. , typename mpl::deref< iter_3 > ::type
  678. , typename mpl::deref< iter_4 > ::type
  679. , typename mpl::deref< iter_5 > ::type
  680. , typename mpl::deref< iter_6 > ::type
  681. , typename mpl::deref< iter_7 > ::type
  682. , typename mpl::deref< iter_8 > ::type
  683. , typename mpl::deref< iter_9 > ::type
  684. , typename mpl::deref< iter_10 > ::type
  685. , typename mpl::deref< iter_11 > ::type
  686. , typename mpl::deref< iter_12 > ::type
  687. , typename mpl::deref< iter_13 > ::type
  688. , typename mpl::deref< iter_14 > ::type
  689. , typename mpl::deref< iter_15 > ::type
  690. , typename mpl::deref< iter_16 > ::type
  691. , typename mpl::deref< iter_17 > ::type
  692. , typename mpl::deref< iter_18 > ::type
  693. , typename mpl::deref< iter_19 > ::type
  694. , typename mpl::deref< iter_20 > ::type
  695. , typename mpl::deref< iter_21 > ::type
  696. , typename mpl::deref< iter_22 > ::type
  697. , typename mpl::deref< iter_23 > ::type
  698. , typename mpl::deref< iter_24 > ::type
  699. , typename mpl::deref< iter_25 > ::type
  700. , typename mpl::deref< iter_26 > ::type
  701. , typename mpl::deref< iter_27 > ::type
  702. , typename mpl::deref< iter_28 > ::type
  703. , typename mpl::deref< iter_29 > ::type
  704. , typename mpl::deref< iter_30 > ::type
  705. , typename mpl::deref< iter_31 > ::type
  706. , typename mpl::deref< iter_32 > ::type
  707. , typename mpl::deref< iter_33 > ::type
  708. , typename mpl::deref< iter_34 > ::type
  709. , typename mpl::deref< iter_35 > ::type
  710. , typename mpl::deref< iter_36 > ::type
  711. , typename mpl::deref< iter_37 > ::type
  712. , typename mpl::deref< iter_38 > ::type
  713. > ::type type;
  714. };
  715. };
  716. 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 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 >
  717. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
  718. {
  719. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 BOOST_FT_ell) BOOST_FT_cv ;
  720. };
  721. template< >
  722. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 >
  723. {
  724. template<typename S> struct synthesize_impl_i
  725. {
  726. private:
  727. typedef typename mpl::begin<S> ::type iter_0;
  728. typedef typename mpl::next< iter_0 > ::type iter_1;
  729. typedef typename mpl::next< iter_1 > ::type iter_2;
  730. typedef typename mpl::next< iter_2 > ::type iter_3;
  731. typedef typename mpl::next< iter_3 > ::type iter_4;
  732. typedef typename mpl::next< iter_4 > ::type iter_5;
  733. typedef typename mpl::next< iter_5 > ::type iter_6;
  734. typedef typename mpl::next< iter_6 > ::type iter_7;
  735. typedef typename mpl::next< iter_7 > ::type iter_8;
  736. typedef typename mpl::next< iter_8 > ::type iter_9;
  737. typedef typename mpl::next< iter_9 > ::type iter_10;
  738. typedef typename mpl::next< iter_10 > ::type iter_11;
  739. typedef typename mpl::next< iter_11 > ::type iter_12;
  740. typedef typename mpl::next< iter_12 > ::type iter_13;
  741. typedef typename mpl::next< iter_13 > ::type iter_14;
  742. typedef typename mpl::next< iter_14 > ::type iter_15;
  743. typedef typename mpl::next< iter_15 > ::type iter_16;
  744. typedef typename mpl::next< iter_16 > ::type iter_17;
  745. typedef typename mpl::next< iter_17 > ::type iter_18;
  746. typedef typename mpl::next< iter_18 > ::type iter_19;
  747. typedef typename mpl::next< iter_19 > ::type iter_20;
  748. typedef typename mpl::next< iter_20 > ::type iter_21;
  749. typedef typename mpl::next< iter_21 > ::type iter_22;
  750. typedef typename mpl::next< iter_22 > ::type iter_23;
  751. typedef typename mpl::next< iter_23 > ::type iter_24;
  752. typedef typename mpl::next< iter_24 > ::type iter_25;
  753. typedef typename mpl::next< iter_25 > ::type iter_26;
  754. typedef typename mpl::next< iter_26 > ::type iter_27;
  755. typedef typename mpl::next< iter_27 > ::type iter_28;
  756. typedef typename mpl::next< iter_28 > ::type iter_29;
  757. typedef typename mpl::next< iter_29 > ::type iter_30;
  758. typedef typename mpl::next< iter_30 > ::type iter_31;
  759. typedef typename mpl::next< iter_31 > ::type iter_32;
  760. typedef typename mpl::next< iter_32 > ::type iter_33;
  761. typedef typename mpl::next< iter_33 > ::type iter_34;
  762. typedef typename mpl::next< iter_34 > ::type iter_35;
  763. typedef typename mpl::next< iter_35 > ::type iter_36;
  764. typedef typename mpl::next< iter_36 > ::type iter_37;
  765. typedef typename mpl::next< iter_37 > ::type iter_38;
  766. typedef typename mpl::next< iter_38 > ::type iter_39;
  767. public:
  768. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39)
  769. < typename mpl::deref< iter_0 > ::type
  770. , typename mpl::deref< iter_1 > ::type
  771. , typename mpl::deref< iter_2 > ::type
  772. , typename mpl::deref< iter_3 > ::type
  773. , typename mpl::deref< iter_4 > ::type
  774. , typename mpl::deref< iter_5 > ::type
  775. , typename mpl::deref< iter_6 > ::type
  776. , typename mpl::deref< iter_7 > ::type
  777. , typename mpl::deref< iter_8 > ::type
  778. , typename mpl::deref< iter_9 > ::type
  779. , typename mpl::deref< iter_10 > ::type
  780. , typename mpl::deref< iter_11 > ::type
  781. , typename mpl::deref< iter_12 > ::type
  782. , typename mpl::deref< iter_13 > ::type
  783. , typename mpl::deref< iter_14 > ::type
  784. , typename mpl::deref< iter_15 > ::type
  785. , typename mpl::deref< iter_16 > ::type
  786. , typename mpl::deref< iter_17 > ::type
  787. , typename mpl::deref< iter_18 > ::type
  788. , typename mpl::deref< iter_19 > ::type
  789. , typename mpl::deref< iter_20 > ::type
  790. , typename mpl::deref< iter_21 > ::type
  791. , typename mpl::deref< iter_22 > ::type
  792. , typename mpl::deref< iter_23 > ::type
  793. , typename mpl::deref< iter_24 > ::type
  794. , typename mpl::deref< iter_25 > ::type
  795. , typename mpl::deref< iter_26 > ::type
  796. , typename mpl::deref< iter_27 > ::type
  797. , typename mpl::deref< iter_28 > ::type
  798. , typename mpl::deref< iter_29 > ::type
  799. , typename mpl::deref< iter_30 > ::type
  800. , typename mpl::deref< iter_31 > ::type
  801. , typename mpl::deref< iter_32 > ::type
  802. , typename mpl::deref< iter_33 > ::type
  803. , typename mpl::deref< iter_34 > ::type
  804. , typename mpl::deref< iter_35 > ::type
  805. , typename mpl::deref< iter_36 > ::type
  806. , typename mpl::deref< iter_37 > ::type
  807. , typename mpl::deref< iter_38 > ::type
  808. , typename mpl::deref< iter_39 > ::type
  809. > ::type type;
  810. };
  811. };
  812. 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 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 >
  813. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
  814. {
  815. typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , 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 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 BOOST_FT_ell) BOOST_FT_cv ;
  816. };
  817. template< >
  818. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 >
  819. {
  820. template<typename S> struct synthesize_impl_i
  821. {
  822. private:
  823. typedef typename mpl::begin<S> ::type iter_0;
  824. typedef typename mpl::next< iter_0 > ::type iter_1;
  825. typedef typename mpl::next< iter_1 > ::type iter_2;
  826. typedef typename mpl::next< iter_2 > ::type iter_3;
  827. typedef typename mpl::next< iter_3 > ::type iter_4;
  828. typedef typename mpl::next< iter_4 > ::type iter_5;
  829. typedef typename mpl::next< iter_5 > ::type iter_6;
  830. typedef typename mpl::next< iter_6 > ::type iter_7;
  831. typedef typename mpl::next< iter_7 > ::type iter_8;
  832. typedef typename mpl::next< iter_8 > ::type iter_9;
  833. typedef typename mpl::next< iter_9 > ::type iter_10;
  834. typedef typename mpl::next< iter_10 > ::type iter_11;
  835. typedef typename mpl::next< iter_11 > ::type iter_12;
  836. typedef typename mpl::next< iter_12 > ::type iter_13;
  837. typedef typename mpl::next< iter_13 > ::type iter_14;
  838. typedef typename mpl::next< iter_14 > ::type iter_15;
  839. typedef typename mpl::next< iter_15 > ::type iter_16;
  840. typedef typename mpl::next< iter_16 > ::type iter_17;
  841. typedef typename mpl::next< iter_17 > ::type iter_18;
  842. typedef typename mpl::next< iter_18 > ::type iter_19;
  843. typedef typename mpl::next< iter_19 > ::type iter_20;
  844. typedef typename mpl::next< iter_20 > ::type iter_21;
  845. typedef typename mpl::next< iter_21 > ::type iter_22;
  846. typedef typename mpl::next< iter_22 > ::type iter_23;
  847. typedef typename mpl::next< iter_23 > ::type iter_24;
  848. typedef typename mpl::next< iter_24 > ::type iter_25;
  849. typedef typename mpl::next< iter_25 > ::type iter_26;
  850. typedef typename mpl::next< iter_26 > ::type iter_27;
  851. typedef typename mpl::next< iter_27 > ::type iter_28;
  852. typedef typename mpl::next< iter_28 > ::type iter_29;
  853. typedef typename mpl::next< iter_29 > ::type iter_30;
  854. typedef typename mpl::next< iter_30 > ::type iter_31;
  855. typedef typename mpl::next< iter_31 > ::type iter_32;
  856. typedef typename mpl::next< iter_32 > ::type iter_33;
  857. typedef typename mpl::next< iter_33 > ::type iter_34;
  858. typedef typename mpl::next< iter_34 > ::type iter_35;
  859. typedef typename mpl::next< iter_35 > ::type iter_36;
  860. typedef typename mpl::next< iter_36 > ::type iter_37;
  861. typedef typename mpl::next< iter_37 > ::type iter_38;
  862. typedef typename mpl::next< iter_38 > ::type iter_39;
  863. typedef typename mpl::next< iter_39 > ::type iter_40;
  864. public:
  865. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40)
  866. < typename mpl::deref< iter_0 > ::type
  867. , typename mpl::deref< iter_1 > ::type
  868. , typename mpl::deref< iter_2 > ::type
  869. , typename mpl::deref< iter_3 > ::type
  870. , typename mpl::deref< iter_4 > ::type
  871. , typename mpl::deref< iter_5 > ::type
  872. , typename mpl::deref< iter_6 > ::type
  873. , typename mpl::deref< iter_7 > ::type
  874. , typename mpl::deref< iter_8 > ::type
  875. , typename mpl::deref< iter_9 > ::type
  876. , typename mpl::deref< iter_10 > ::type
  877. , typename mpl::deref< iter_11 > ::type
  878. , typename mpl::deref< iter_12 > ::type
  879. , typename mpl::deref< iter_13 > ::type
  880. , typename mpl::deref< iter_14 > ::type
  881. , typename mpl::deref< iter_15 > ::type
  882. , typename mpl::deref< iter_16 > ::type
  883. , typename mpl::deref< iter_17 > ::type
  884. , typename mpl::deref< iter_18 > ::type
  885. , typename mpl::deref< iter_19 > ::type
  886. , typename mpl::deref< iter_20 > ::type
  887. , typename mpl::deref< iter_21 > ::type
  888. , typename mpl::deref< iter_22 > ::type
  889. , typename mpl::deref< iter_23 > ::type
  890. , typename mpl::deref< iter_24 > ::type
  891. , typename mpl::deref< iter_25 > ::type
  892. , typename mpl::deref< iter_26 > ::type
  893. , typename mpl::deref< iter_27 > ::type
  894. , typename mpl::deref< iter_28 > ::type
  895. , typename mpl::deref< iter_29 > ::type
  896. , typename mpl::deref< iter_30 > ::type
  897. , typename mpl::deref< iter_31 > ::type
  898. , typename mpl::deref< iter_32 > ::type
  899. , typename mpl::deref< iter_33 > ::type
  900. , typename mpl::deref< iter_34 > ::type
  901. , typename mpl::deref< iter_35 > ::type
  902. , typename mpl::deref< iter_36 > ::type
  903. , typename mpl::deref< iter_37 > ::type
  904. , typename mpl::deref< iter_38 > ::type
  905. , typename mpl::deref< iter_39 > ::type
  906. , typename mpl::deref< iter_40 > ::type
  907. > ::type type;
  908. };
  909. };
  910. # undef BOOST_FT_make_type
  911. # undef BOOST_FT_make_type_impl