arity40_1.hpp 46 KB

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