arity50_1.hpp 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127
  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/arity40_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 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 >
  21. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41)
  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 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 BOOST_FT_ell) BOOST_FT_cv ;
  24. };
  25. template< >
  26. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 42 >
  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. typedef typename mpl::next< iter_31 > ::type iter_32;
  64. typedef typename mpl::next< iter_32 > ::type iter_33;
  65. typedef typename mpl::next< iter_33 > ::type iter_34;
  66. typedef typename mpl::next< iter_34 > ::type iter_35;
  67. typedef typename mpl::next< iter_35 > ::type iter_36;
  68. typedef typename mpl::next< iter_36 > ::type iter_37;
  69. typedef typename mpl::next< iter_37 > ::type iter_38;
  70. typedef typename mpl::next< iter_38 > ::type iter_39;
  71. typedef typename mpl::next< iter_39 > ::type iter_40;
  72. typedef typename mpl::next< iter_40 > ::type iter_41;
  73. public:
  74. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41)
  75. < typename mpl::deref< iter_0 > ::type
  76. , typename detail::cv_traits<
  77. typename mpl::deref< iter_1 > ::type > ::type
  78. , typename mpl::deref< iter_2 > ::type
  79. , typename mpl::deref< iter_3 > ::type
  80. , typename mpl::deref< iter_4 > ::type
  81. , typename mpl::deref< iter_5 > ::type
  82. , typename mpl::deref< iter_6 > ::type
  83. , typename mpl::deref< iter_7 > ::type
  84. , typename mpl::deref< iter_8 > ::type
  85. , typename mpl::deref< iter_9 > ::type
  86. , typename mpl::deref< iter_10 > ::type
  87. , typename mpl::deref< iter_11 > ::type
  88. , typename mpl::deref< iter_12 > ::type
  89. , typename mpl::deref< iter_13 > ::type
  90. , typename mpl::deref< iter_14 > ::type
  91. , typename mpl::deref< iter_15 > ::type
  92. , typename mpl::deref< iter_16 > ::type
  93. , typename mpl::deref< iter_17 > ::type
  94. , typename mpl::deref< iter_18 > ::type
  95. , typename mpl::deref< iter_19 > ::type
  96. , typename mpl::deref< iter_20 > ::type
  97. , typename mpl::deref< iter_21 > ::type
  98. , typename mpl::deref< iter_22 > ::type
  99. , typename mpl::deref< iter_23 > ::type
  100. , typename mpl::deref< iter_24 > ::type
  101. , typename mpl::deref< iter_25 > ::type
  102. , typename mpl::deref< iter_26 > ::type
  103. , typename mpl::deref< iter_27 > ::type
  104. , typename mpl::deref< iter_28 > ::type
  105. , typename mpl::deref< iter_29 > ::type
  106. , typename mpl::deref< iter_30 > ::type
  107. , typename mpl::deref< iter_31 > ::type
  108. , typename mpl::deref< iter_32 > ::type
  109. , typename mpl::deref< iter_33 > ::type
  110. , typename mpl::deref< iter_34 > ::type
  111. , typename mpl::deref< iter_35 > ::type
  112. , typename mpl::deref< iter_36 > ::type
  113. , typename mpl::deref< iter_37 > ::type
  114. , typename mpl::deref< iter_38 > ::type
  115. , typename mpl::deref< iter_39 > ::type
  116. , typename mpl::deref< iter_40 > ::type
  117. , typename mpl::deref< iter_41 > ::type
  118. > ::type type;
  119. };
  120. };
  121. 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 , typename T40 , typename T41 >
  122. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42)
  123. {
  124. 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 , T40 , T41 BOOST_FT_ell) BOOST_FT_cv ;
  125. };
  126. template< >
  127. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 43 >
  128. {
  129. template<typename S> struct synthesize_impl_i
  130. {
  131. private:
  132. typedef typename mpl::begin<S> ::type iter_0;
  133. typedef typename mpl::next< iter_0 > ::type iter_1;
  134. typedef typename mpl::next< iter_1 > ::type iter_2;
  135. typedef typename mpl::next< iter_2 > ::type iter_3;
  136. typedef typename mpl::next< iter_3 > ::type iter_4;
  137. typedef typename mpl::next< iter_4 > ::type iter_5;
  138. typedef typename mpl::next< iter_5 > ::type iter_6;
  139. typedef typename mpl::next< iter_6 > ::type iter_7;
  140. typedef typename mpl::next< iter_7 > ::type iter_8;
  141. typedef typename mpl::next< iter_8 > ::type iter_9;
  142. typedef typename mpl::next< iter_9 > ::type iter_10;
  143. typedef typename mpl::next< iter_10 > ::type iter_11;
  144. typedef typename mpl::next< iter_11 > ::type iter_12;
  145. typedef typename mpl::next< iter_12 > ::type iter_13;
  146. typedef typename mpl::next< iter_13 > ::type iter_14;
  147. typedef typename mpl::next< iter_14 > ::type iter_15;
  148. typedef typename mpl::next< iter_15 > ::type iter_16;
  149. typedef typename mpl::next< iter_16 > ::type iter_17;
  150. typedef typename mpl::next< iter_17 > ::type iter_18;
  151. typedef typename mpl::next< iter_18 > ::type iter_19;
  152. typedef typename mpl::next< iter_19 > ::type iter_20;
  153. typedef typename mpl::next< iter_20 > ::type iter_21;
  154. typedef typename mpl::next< iter_21 > ::type iter_22;
  155. typedef typename mpl::next< iter_22 > ::type iter_23;
  156. typedef typename mpl::next< iter_23 > ::type iter_24;
  157. typedef typename mpl::next< iter_24 > ::type iter_25;
  158. typedef typename mpl::next< iter_25 > ::type iter_26;
  159. typedef typename mpl::next< iter_26 > ::type iter_27;
  160. typedef typename mpl::next< iter_27 > ::type iter_28;
  161. typedef typename mpl::next< iter_28 > ::type iter_29;
  162. typedef typename mpl::next< iter_29 > ::type iter_30;
  163. typedef typename mpl::next< iter_30 > ::type iter_31;
  164. typedef typename mpl::next< iter_31 > ::type iter_32;
  165. typedef typename mpl::next< iter_32 > ::type iter_33;
  166. typedef typename mpl::next< iter_33 > ::type iter_34;
  167. typedef typename mpl::next< iter_34 > ::type iter_35;
  168. typedef typename mpl::next< iter_35 > ::type iter_36;
  169. typedef typename mpl::next< iter_36 > ::type iter_37;
  170. typedef typename mpl::next< iter_37 > ::type iter_38;
  171. typedef typename mpl::next< iter_38 > ::type iter_39;
  172. typedef typename mpl::next< iter_39 > ::type iter_40;
  173. typedef typename mpl::next< iter_40 > ::type iter_41;
  174. typedef typename mpl::next< iter_41 > ::type iter_42;
  175. public:
  176. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42)
  177. < typename mpl::deref< iter_0 > ::type
  178. , typename detail::cv_traits<
  179. typename mpl::deref< iter_1 > ::type > ::type
  180. , typename mpl::deref< iter_2 > ::type
  181. , typename mpl::deref< iter_3 > ::type
  182. , typename mpl::deref< iter_4 > ::type
  183. , typename mpl::deref< iter_5 > ::type
  184. , typename mpl::deref< iter_6 > ::type
  185. , typename mpl::deref< iter_7 > ::type
  186. , typename mpl::deref< iter_8 > ::type
  187. , typename mpl::deref< iter_9 > ::type
  188. , typename mpl::deref< iter_10 > ::type
  189. , typename mpl::deref< iter_11 > ::type
  190. , typename mpl::deref< iter_12 > ::type
  191. , typename mpl::deref< iter_13 > ::type
  192. , typename mpl::deref< iter_14 > ::type
  193. , typename mpl::deref< iter_15 > ::type
  194. , typename mpl::deref< iter_16 > ::type
  195. , typename mpl::deref< iter_17 > ::type
  196. , typename mpl::deref< iter_18 > ::type
  197. , typename mpl::deref< iter_19 > ::type
  198. , typename mpl::deref< iter_20 > ::type
  199. , typename mpl::deref< iter_21 > ::type
  200. , typename mpl::deref< iter_22 > ::type
  201. , typename mpl::deref< iter_23 > ::type
  202. , typename mpl::deref< iter_24 > ::type
  203. , typename mpl::deref< iter_25 > ::type
  204. , typename mpl::deref< iter_26 > ::type
  205. , typename mpl::deref< iter_27 > ::type
  206. , typename mpl::deref< iter_28 > ::type
  207. , typename mpl::deref< iter_29 > ::type
  208. , typename mpl::deref< iter_30 > ::type
  209. , typename mpl::deref< iter_31 > ::type
  210. , typename mpl::deref< iter_32 > ::type
  211. , typename mpl::deref< iter_33 > ::type
  212. , typename mpl::deref< iter_34 > ::type
  213. , typename mpl::deref< iter_35 > ::type
  214. , typename mpl::deref< iter_36 > ::type
  215. , typename mpl::deref< iter_37 > ::type
  216. , typename mpl::deref< iter_38 > ::type
  217. , typename mpl::deref< iter_39 > ::type
  218. , typename mpl::deref< iter_40 > ::type
  219. , typename mpl::deref< iter_41 > ::type
  220. , typename mpl::deref< iter_42 > ::type
  221. > ::type type;
  222. };
  223. };
  224. 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 , typename T40 , typename T41 , typename T42 >
  225. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43)
  226. {
  227. 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 , T40 , T41 , T42 BOOST_FT_ell) BOOST_FT_cv ;
  228. };
  229. template< >
  230. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 44 >
  231. {
  232. template<typename S> struct synthesize_impl_i
  233. {
  234. private:
  235. typedef typename mpl::begin<S> ::type iter_0;
  236. typedef typename mpl::next< iter_0 > ::type iter_1;
  237. typedef typename mpl::next< iter_1 > ::type iter_2;
  238. typedef typename mpl::next< iter_2 > ::type iter_3;
  239. typedef typename mpl::next< iter_3 > ::type iter_4;
  240. typedef typename mpl::next< iter_4 > ::type iter_5;
  241. typedef typename mpl::next< iter_5 > ::type iter_6;
  242. typedef typename mpl::next< iter_6 > ::type iter_7;
  243. typedef typename mpl::next< iter_7 > ::type iter_8;
  244. typedef typename mpl::next< iter_8 > ::type iter_9;
  245. typedef typename mpl::next< iter_9 > ::type iter_10;
  246. typedef typename mpl::next< iter_10 > ::type iter_11;
  247. typedef typename mpl::next< iter_11 > ::type iter_12;
  248. typedef typename mpl::next< iter_12 > ::type iter_13;
  249. typedef typename mpl::next< iter_13 > ::type iter_14;
  250. typedef typename mpl::next< iter_14 > ::type iter_15;
  251. typedef typename mpl::next< iter_15 > ::type iter_16;
  252. typedef typename mpl::next< iter_16 > ::type iter_17;
  253. typedef typename mpl::next< iter_17 > ::type iter_18;
  254. typedef typename mpl::next< iter_18 > ::type iter_19;
  255. typedef typename mpl::next< iter_19 > ::type iter_20;
  256. typedef typename mpl::next< iter_20 > ::type iter_21;
  257. typedef typename mpl::next< iter_21 > ::type iter_22;
  258. typedef typename mpl::next< iter_22 > ::type iter_23;
  259. typedef typename mpl::next< iter_23 > ::type iter_24;
  260. typedef typename mpl::next< iter_24 > ::type iter_25;
  261. typedef typename mpl::next< iter_25 > ::type iter_26;
  262. typedef typename mpl::next< iter_26 > ::type iter_27;
  263. typedef typename mpl::next< iter_27 > ::type iter_28;
  264. typedef typename mpl::next< iter_28 > ::type iter_29;
  265. typedef typename mpl::next< iter_29 > ::type iter_30;
  266. typedef typename mpl::next< iter_30 > ::type iter_31;
  267. typedef typename mpl::next< iter_31 > ::type iter_32;
  268. typedef typename mpl::next< iter_32 > ::type iter_33;
  269. typedef typename mpl::next< iter_33 > ::type iter_34;
  270. typedef typename mpl::next< iter_34 > ::type iter_35;
  271. typedef typename mpl::next< iter_35 > ::type iter_36;
  272. typedef typename mpl::next< iter_36 > ::type iter_37;
  273. typedef typename mpl::next< iter_37 > ::type iter_38;
  274. typedef typename mpl::next< iter_38 > ::type iter_39;
  275. typedef typename mpl::next< iter_39 > ::type iter_40;
  276. typedef typename mpl::next< iter_40 > ::type iter_41;
  277. typedef typename mpl::next< iter_41 > ::type iter_42;
  278. typedef typename mpl::next< iter_42 > ::type iter_43;
  279. public:
  280. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43)
  281. < typename mpl::deref< iter_0 > ::type
  282. , typename detail::cv_traits<
  283. typename mpl::deref< iter_1 > ::type > ::type
  284. , typename mpl::deref< iter_2 > ::type
  285. , typename mpl::deref< iter_3 > ::type
  286. , typename mpl::deref< iter_4 > ::type
  287. , typename mpl::deref< iter_5 > ::type
  288. , typename mpl::deref< iter_6 > ::type
  289. , typename mpl::deref< iter_7 > ::type
  290. , typename mpl::deref< iter_8 > ::type
  291. , typename mpl::deref< iter_9 > ::type
  292. , typename mpl::deref< iter_10 > ::type
  293. , typename mpl::deref< iter_11 > ::type
  294. , typename mpl::deref< iter_12 > ::type
  295. , typename mpl::deref< iter_13 > ::type
  296. , typename mpl::deref< iter_14 > ::type
  297. , typename mpl::deref< iter_15 > ::type
  298. , typename mpl::deref< iter_16 > ::type
  299. , typename mpl::deref< iter_17 > ::type
  300. , typename mpl::deref< iter_18 > ::type
  301. , typename mpl::deref< iter_19 > ::type
  302. , typename mpl::deref< iter_20 > ::type
  303. , typename mpl::deref< iter_21 > ::type
  304. , typename mpl::deref< iter_22 > ::type
  305. , typename mpl::deref< iter_23 > ::type
  306. , typename mpl::deref< iter_24 > ::type
  307. , typename mpl::deref< iter_25 > ::type
  308. , typename mpl::deref< iter_26 > ::type
  309. , typename mpl::deref< iter_27 > ::type
  310. , typename mpl::deref< iter_28 > ::type
  311. , typename mpl::deref< iter_29 > ::type
  312. , typename mpl::deref< iter_30 > ::type
  313. , typename mpl::deref< iter_31 > ::type
  314. , typename mpl::deref< iter_32 > ::type
  315. , typename mpl::deref< iter_33 > ::type
  316. , typename mpl::deref< iter_34 > ::type
  317. , typename mpl::deref< iter_35 > ::type
  318. , typename mpl::deref< iter_36 > ::type
  319. , typename mpl::deref< iter_37 > ::type
  320. , typename mpl::deref< iter_38 > ::type
  321. , typename mpl::deref< iter_39 > ::type
  322. , typename mpl::deref< iter_40 > ::type
  323. , typename mpl::deref< iter_41 > ::type
  324. , typename mpl::deref< iter_42 > ::type
  325. , typename mpl::deref< iter_43 > ::type
  326. > ::type type;
  327. };
  328. };
  329. 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 , typename T40 , typename T41 , typename T42 , typename T43 >
  330. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44)
  331. {
  332. 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 , T40 , T41 , T42 , T43 BOOST_FT_ell) BOOST_FT_cv ;
  333. };
  334. template< >
  335. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 45 >
  336. {
  337. template<typename S> struct synthesize_impl_i
  338. {
  339. private:
  340. typedef typename mpl::begin<S> ::type iter_0;
  341. typedef typename mpl::next< iter_0 > ::type iter_1;
  342. typedef typename mpl::next< iter_1 > ::type iter_2;
  343. typedef typename mpl::next< iter_2 > ::type iter_3;
  344. typedef typename mpl::next< iter_3 > ::type iter_4;
  345. typedef typename mpl::next< iter_4 > ::type iter_5;
  346. typedef typename mpl::next< iter_5 > ::type iter_6;
  347. typedef typename mpl::next< iter_6 > ::type iter_7;
  348. typedef typename mpl::next< iter_7 > ::type iter_8;
  349. typedef typename mpl::next< iter_8 > ::type iter_9;
  350. typedef typename mpl::next< iter_9 > ::type iter_10;
  351. typedef typename mpl::next< iter_10 > ::type iter_11;
  352. typedef typename mpl::next< iter_11 > ::type iter_12;
  353. typedef typename mpl::next< iter_12 > ::type iter_13;
  354. typedef typename mpl::next< iter_13 > ::type iter_14;
  355. typedef typename mpl::next< iter_14 > ::type iter_15;
  356. typedef typename mpl::next< iter_15 > ::type iter_16;
  357. typedef typename mpl::next< iter_16 > ::type iter_17;
  358. typedef typename mpl::next< iter_17 > ::type iter_18;
  359. typedef typename mpl::next< iter_18 > ::type iter_19;
  360. typedef typename mpl::next< iter_19 > ::type iter_20;
  361. typedef typename mpl::next< iter_20 > ::type iter_21;
  362. typedef typename mpl::next< iter_21 > ::type iter_22;
  363. typedef typename mpl::next< iter_22 > ::type iter_23;
  364. typedef typename mpl::next< iter_23 > ::type iter_24;
  365. typedef typename mpl::next< iter_24 > ::type iter_25;
  366. typedef typename mpl::next< iter_25 > ::type iter_26;
  367. typedef typename mpl::next< iter_26 > ::type iter_27;
  368. typedef typename mpl::next< iter_27 > ::type iter_28;
  369. typedef typename mpl::next< iter_28 > ::type iter_29;
  370. typedef typename mpl::next< iter_29 > ::type iter_30;
  371. typedef typename mpl::next< iter_30 > ::type iter_31;
  372. typedef typename mpl::next< iter_31 > ::type iter_32;
  373. typedef typename mpl::next< iter_32 > ::type iter_33;
  374. typedef typename mpl::next< iter_33 > ::type iter_34;
  375. typedef typename mpl::next< iter_34 > ::type iter_35;
  376. typedef typename mpl::next< iter_35 > ::type iter_36;
  377. typedef typename mpl::next< iter_36 > ::type iter_37;
  378. typedef typename mpl::next< iter_37 > ::type iter_38;
  379. typedef typename mpl::next< iter_38 > ::type iter_39;
  380. typedef typename mpl::next< iter_39 > ::type iter_40;
  381. typedef typename mpl::next< iter_40 > ::type iter_41;
  382. typedef typename mpl::next< iter_41 > ::type iter_42;
  383. typedef typename mpl::next< iter_42 > ::type iter_43;
  384. typedef typename mpl::next< iter_43 > ::type iter_44;
  385. public:
  386. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44)
  387. < typename mpl::deref< iter_0 > ::type
  388. , typename detail::cv_traits<
  389. typename mpl::deref< iter_1 > ::type > ::type
  390. , typename mpl::deref< iter_2 > ::type
  391. , typename mpl::deref< iter_3 > ::type
  392. , typename mpl::deref< iter_4 > ::type
  393. , typename mpl::deref< iter_5 > ::type
  394. , typename mpl::deref< iter_6 > ::type
  395. , typename mpl::deref< iter_7 > ::type
  396. , typename mpl::deref< iter_8 > ::type
  397. , typename mpl::deref< iter_9 > ::type
  398. , typename mpl::deref< iter_10 > ::type
  399. , typename mpl::deref< iter_11 > ::type
  400. , typename mpl::deref< iter_12 > ::type
  401. , typename mpl::deref< iter_13 > ::type
  402. , typename mpl::deref< iter_14 > ::type
  403. , typename mpl::deref< iter_15 > ::type
  404. , typename mpl::deref< iter_16 > ::type
  405. , typename mpl::deref< iter_17 > ::type
  406. , typename mpl::deref< iter_18 > ::type
  407. , typename mpl::deref< iter_19 > ::type
  408. , typename mpl::deref< iter_20 > ::type
  409. , typename mpl::deref< iter_21 > ::type
  410. , typename mpl::deref< iter_22 > ::type
  411. , typename mpl::deref< iter_23 > ::type
  412. , typename mpl::deref< iter_24 > ::type
  413. , typename mpl::deref< iter_25 > ::type
  414. , typename mpl::deref< iter_26 > ::type
  415. , typename mpl::deref< iter_27 > ::type
  416. , typename mpl::deref< iter_28 > ::type
  417. , typename mpl::deref< iter_29 > ::type
  418. , typename mpl::deref< iter_30 > ::type
  419. , typename mpl::deref< iter_31 > ::type
  420. , typename mpl::deref< iter_32 > ::type
  421. , typename mpl::deref< iter_33 > ::type
  422. , typename mpl::deref< iter_34 > ::type
  423. , typename mpl::deref< iter_35 > ::type
  424. , typename mpl::deref< iter_36 > ::type
  425. , typename mpl::deref< iter_37 > ::type
  426. , typename mpl::deref< iter_38 > ::type
  427. , typename mpl::deref< iter_39 > ::type
  428. , typename mpl::deref< iter_40 > ::type
  429. , typename mpl::deref< iter_41 > ::type
  430. , typename mpl::deref< iter_42 > ::type
  431. , typename mpl::deref< iter_43 > ::type
  432. , typename mpl::deref< iter_44 > ::type
  433. > ::type type;
  434. };
  435. };
  436. 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 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 >
  437. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45)
  438. {
  439. 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 , T40 , T41 , T42 , T43 , T44 BOOST_FT_ell) BOOST_FT_cv ;
  440. };
  441. template< >
  442. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 46 >
  443. {
  444. template<typename S> struct synthesize_impl_i
  445. {
  446. private:
  447. typedef typename mpl::begin<S> ::type iter_0;
  448. typedef typename mpl::next< iter_0 > ::type iter_1;
  449. typedef typename mpl::next< iter_1 > ::type iter_2;
  450. typedef typename mpl::next< iter_2 > ::type iter_3;
  451. typedef typename mpl::next< iter_3 > ::type iter_4;
  452. typedef typename mpl::next< iter_4 > ::type iter_5;
  453. typedef typename mpl::next< iter_5 > ::type iter_6;
  454. typedef typename mpl::next< iter_6 > ::type iter_7;
  455. typedef typename mpl::next< iter_7 > ::type iter_8;
  456. typedef typename mpl::next< iter_8 > ::type iter_9;
  457. typedef typename mpl::next< iter_9 > ::type iter_10;
  458. typedef typename mpl::next< iter_10 > ::type iter_11;
  459. typedef typename mpl::next< iter_11 > ::type iter_12;
  460. typedef typename mpl::next< iter_12 > ::type iter_13;
  461. typedef typename mpl::next< iter_13 > ::type iter_14;
  462. typedef typename mpl::next< iter_14 > ::type iter_15;
  463. typedef typename mpl::next< iter_15 > ::type iter_16;
  464. typedef typename mpl::next< iter_16 > ::type iter_17;
  465. typedef typename mpl::next< iter_17 > ::type iter_18;
  466. typedef typename mpl::next< iter_18 > ::type iter_19;
  467. typedef typename mpl::next< iter_19 > ::type iter_20;
  468. typedef typename mpl::next< iter_20 > ::type iter_21;
  469. typedef typename mpl::next< iter_21 > ::type iter_22;
  470. typedef typename mpl::next< iter_22 > ::type iter_23;
  471. typedef typename mpl::next< iter_23 > ::type iter_24;
  472. typedef typename mpl::next< iter_24 > ::type iter_25;
  473. typedef typename mpl::next< iter_25 > ::type iter_26;
  474. typedef typename mpl::next< iter_26 > ::type iter_27;
  475. typedef typename mpl::next< iter_27 > ::type iter_28;
  476. typedef typename mpl::next< iter_28 > ::type iter_29;
  477. typedef typename mpl::next< iter_29 > ::type iter_30;
  478. typedef typename mpl::next< iter_30 > ::type iter_31;
  479. typedef typename mpl::next< iter_31 > ::type iter_32;
  480. typedef typename mpl::next< iter_32 > ::type iter_33;
  481. typedef typename mpl::next< iter_33 > ::type iter_34;
  482. typedef typename mpl::next< iter_34 > ::type iter_35;
  483. typedef typename mpl::next< iter_35 > ::type iter_36;
  484. typedef typename mpl::next< iter_36 > ::type iter_37;
  485. typedef typename mpl::next< iter_37 > ::type iter_38;
  486. typedef typename mpl::next< iter_38 > ::type iter_39;
  487. typedef typename mpl::next< iter_39 > ::type iter_40;
  488. typedef typename mpl::next< iter_40 > ::type iter_41;
  489. typedef typename mpl::next< iter_41 > ::type iter_42;
  490. typedef typename mpl::next< iter_42 > ::type iter_43;
  491. typedef typename mpl::next< iter_43 > ::type iter_44;
  492. typedef typename mpl::next< iter_44 > ::type iter_45;
  493. public:
  494. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45)
  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. , typename mpl::deref< iter_37 > ::type
  534. , typename mpl::deref< iter_38 > ::type
  535. , typename mpl::deref< iter_39 > ::type
  536. , typename mpl::deref< iter_40 > ::type
  537. , typename mpl::deref< iter_41 > ::type
  538. , typename mpl::deref< iter_42 > ::type
  539. , typename mpl::deref< iter_43 > ::type
  540. , typename mpl::deref< iter_44 > ::type
  541. , typename mpl::deref< iter_45 > ::type
  542. > ::type type;
  543. };
  544. };
  545. 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 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 >
  546. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46)
  547. {
  548. 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 , T40 , T41 , T42 , T43 , T44 , T45 BOOST_FT_ell) BOOST_FT_cv ;
  549. };
  550. template< >
  551. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 47 >
  552. {
  553. template<typename S> struct synthesize_impl_i
  554. {
  555. private:
  556. typedef typename mpl::begin<S> ::type iter_0;
  557. typedef typename mpl::next< iter_0 > ::type iter_1;
  558. typedef typename mpl::next< iter_1 > ::type iter_2;
  559. typedef typename mpl::next< iter_2 > ::type iter_3;
  560. typedef typename mpl::next< iter_3 > ::type iter_4;
  561. typedef typename mpl::next< iter_4 > ::type iter_5;
  562. typedef typename mpl::next< iter_5 > ::type iter_6;
  563. typedef typename mpl::next< iter_6 > ::type iter_7;
  564. typedef typename mpl::next< iter_7 > ::type iter_8;
  565. typedef typename mpl::next< iter_8 > ::type iter_9;
  566. typedef typename mpl::next< iter_9 > ::type iter_10;
  567. typedef typename mpl::next< iter_10 > ::type iter_11;
  568. typedef typename mpl::next< iter_11 > ::type iter_12;
  569. typedef typename mpl::next< iter_12 > ::type iter_13;
  570. typedef typename mpl::next< iter_13 > ::type iter_14;
  571. typedef typename mpl::next< iter_14 > ::type iter_15;
  572. typedef typename mpl::next< iter_15 > ::type iter_16;
  573. typedef typename mpl::next< iter_16 > ::type iter_17;
  574. typedef typename mpl::next< iter_17 > ::type iter_18;
  575. typedef typename mpl::next< iter_18 > ::type iter_19;
  576. typedef typename mpl::next< iter_19 > ::type iter_20;
  577. typedef typename mpl::next< iter_20 > ::type iter_21;
  578. typedef typename mpl::next< iter_21 > ::type iter_22;
  579. typedef typename mpl::next< iter_22 > ::type iter_23;
  580. typedef typename mpl::next< iter_23 > ::type iter_24;
  581. typedef typename mpl::next< iter_24 > ::type iter_25;
  582. typedef typename mpl::next< iter_25 > ::type iter_26;
  583. typedef typename mpl::next< iter_26 > ::type iter_27;
  584. typedef typename mpl::next< iter_27 > ::type iter_28;
  585. typedef typename mpl::next< iter_28 > ::type iter_29;
  586. typedef typename mpl::next< iter_29 > ::type iter_30;
  587. typedef typename mpl::next< iter_30 > ::type iter_31;
  588. typedef typename mpl::next< iter_31 > ::type iter_32;
  589. typedef typename mpl::next< iter_32 > ::type iter_33;
  590. typedef typename mpl::next< iter_33 > ::type iter_34;
  591. typedef typename mpl::next< iter_34 > ::type iter_35;
  592. typedef typename mpl::next< iter_35 > ::type iter_36;
  593. typedef typename mpl::next< iter_36 > ::type iter_37;
  594. typedef typename mpl::next< iter_37 > ::type iter_38;
  595. typedef typename mpl::next< iter_38 > ::type iter_39;
  596. typedef typename mpl::next< iter_39 > ::type iter_40;
  597. typedef typename mpl::next< iter_40 > ::type iter_41;
  598. typedef typename mpl::next< iter_41 > ::type iter_42;
  599. typedef typename mpl::next< iter_42 > ::type iter_43;
  600. typedef typename mpl::next< iter_43 > ::type iter_44;
  601. typedef typename mpl::next< iter_44 > ::type iter_45;
  602. typedef typename mpl::next< iter_45 > ::type iter_46;
  603. public:
  604. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46)
  605. < typename mpl::deref< iter_0 > ::type
  606. , typename detail::cv_traits<
  607. typename mpl::deref< iter_1 > ::type > ::type
  608. , typename mpl::deref< iter_2 > ::type
  609. , typename mpl::deref< iter_3 > ::type
  610. , typename mpl::deref< iter_4 > ::type
  611. , typename mpl::deref< iter_5 > ::type
  612. , typename mpl::deref< iter_6 > ::type
  613. , typename mpl::deref< iter_7 > ::type
  614. , typename mpl::deref< iter_8 > ::type
  615. , typename mpl::deref< iter_9 > ::type
  616. , typename mpl::deref< iter_10 > ::type
  617. , typename mpl::deref< iter_11 > ::type
  618. , typename mpl::deref< iter_12 > ::type
  619. , typename mpl::deref< iter_13 > ::type
  620. , typename mpl::deref< iter_14 > ::type
  621. , typename mpl::deref< iter_15 > ::type
  622. , typename mpl::deref< iter_16 > ::type
  623. , typename mpl::deref< iter_17 > ::type
  624. , typename mpl::deref< iter_18 > ::type
  625. , typename mpl::deref< iter_19 > ::type
  626. , typename mpl::deref< iter_20 > ::type
  627. , typename mpl::deref< iter_21 > ::type
  628. , typename mpl::deref< iter_22 > ::type
  629. , typename mpl::deref< iter_23 > ::type
  630. , typename mpl::deref< iter_24 > ::type
  631. , typename mpl::deref< iter_25 > ::type
  632. , typename mpl::deref< iter_26 > ::type
  633. , typename mpl::deref< iter_27 > ::type
  634. , typename mpl::deref< iter_28 > ::type
  635. , typename mpl::deref< iter_29 > ::type
  636. , typename mpl::deref< iter_30 > ::type
  637. , typename mpl::deref< iter_31 > ::type
  638. , typename mpl::deref< iter_32 > ::type
  639. , typename mpl::deref< iter_33 > ::type
  640. , typename mpl::deref< iter_34 > ::type
  641. , typename mpl::deref< iter_35 > ::type
  642. , typename mpl::deref< iter_36 > ::type
  643. , typename mpl::deref< iter_37 > ::type
  644. , typename mpl::deref< iter_38 > ::type
  645. , typename mpl::deref< iter_39 > ::type
  646. , typename mpl::deref< iter_40 > ::type
  647. , typename mpl::deref< iter_41 > ::type
  648. , typename mpl::deref< iter_42 > ::type
  649. , typename mpl::deref< iter_43 > ::type
  650. , typename mpl::deref< iter_44 > ::type
  651. , typename mpl::deref< iter_45 > ::type
  652. , typename mpl::deref< iter_46 > ::type
  653. > ::type type;
  654. };
  655. };
  656. 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 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 >
  657. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47)
  658. {
  659. 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 , T40 , T41 , T42 , T43 , T44 , T45 , T46 BOOST_FT_ell) BOOST_FT_cv ;
  660. };
  661. template< >
  662. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 48 >
  663. {
  664. template<typename S> struct synthesize_impl_i
  665. {
  666. private:
  667. typedef typename mpl::begin<S> ::type iter_0;
  668. typedef typename mpl::next< iter_0 > ::type iter_1;
  669. typedef typename mpl::next< iter_1 > ::type iter_2;
  670. typedef typename mpl::next< iter_2 > ::type iter_3;
  671. typedef typename mpl::next< iter_3 > ::type iter_4;
  672. typedef typename mpl::next< iter_4 > ::type iter_5;
  673. typedef typename mpl::next< iter_5 > ::type iter_6;
  674. typedef typename mpl::next< iter_6 > ::type iter_7;
  675. typedef typename mpl::next< iter_7 > ::type iter_8;
  676. typedef typename mpl::next< iter_8 > ::type iter_9;
  677. typedef typename mpl::next< iter_9 > ::type iter_10;
  678. typedef typename mpl::next< iter_10 > ::type iter_11;
  679. typedef typename mpl::next< iter_11 > ::type iter_12;
  680. typedef typename mpl::next< iter_12 > ::type iter_13;
  681. typedef typename mpl::next< iter_13 > ::type iter_14;
  682. typedef typename mpl::next< iter_14 > ::type iter_15;
  683. typedef typename mpl::next< iter_15 > ::type iter_16;
  684. typedef typename mpl::next< iter_16 > ::type iter_17;
  685. typedef typename mpl::next< iter_17 > ::type iter_18;
  686. typedef typename mpl::next< iter_18 > ::type iter_19;
  687. typedef typename mpl::next< iter_19 > ::type iter_20;
  688. typedef typename mpl::next< iter_20 > ::type iter_21;
  689. typedef typename mpl::next< iter_21 > ::type iter_22;
  690. typedef typename mpl::next< iter_22 > ::type iter_23;
  691. typedef typename mpl::next< iter_23 > ::type iter_24;
  692. typedef typename mpl::next< iter_24 > ::type iter_25;
  693. typedef typename mpl::next< iter_25 > ::type iter_26;
  694. typedef typename mpl::next< iter_26 > ::type iter_27;
  695. typedef typename mpl::next< iter_27 > ::type iter_28;
  696. typedef typename mpl::next< iter_28 > ::type iter_29;
  697. typedef typename mpl::next< iter_29 > ::type iter_30;
  698. typedef typename mpl::next< iter_30 > ::type iter_31;
  699. typedef typename mpl::next< iter_31 > ::type iter_32;
  700. typedef typename mpl::next< iter_32 > ::type iter_33;
  701. typedef typename mpl::next< iter_33 > ::type iter_34;
  702. typedef typename mpl::next< iter_34 > ::type iter_35;
  703. typedef typename mpl::next< iter_35 > ::type iter_36;
  704. typedef typename mpl::next< iter_36 > ::type iter_37;
  705. typedef typename mpl::next< iter_37 > ::type iter_38;
  706. typedef typename mpl::next< iter_38 > ::type iter_39;
  707. typedef typename mpl::next< iter_39 > ::type iter_40;
  708. typedef typename mpl::next< iter_40 > ::type iter_41;
  709. typedef typename mpl::next< iter_41 > ::type iter_42;
  710. typedef typename mpl::next< iter_42 > ::type iter_43;
  711. typedef typename mpl::next< iter_43 > ::type iter_44;
  712. typedef typename mpl::next< iter_44 > ::type iter_45;
  713. typedef typename mpl::next< iter_45 > ::type iter_46;
  714. typedef typename mpl::next< iter_46 > ::type iter_47;
  715. public:
  716. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47)
  717. < typename mpl::deref< iter_0 > ::type
  718. , typename detail::cv_traits<
  719. typename mpl::deref< iter_1 > ::type > ::type
  720. , typename mpl::deref< iter_2 > ::type
  721. , typename mpl::deref< iter_3 > ::type
  722. , typename mpl::deref< iter_4 > ::type
  723. , typename mpl::deref< iter_5 > ::type
  724. , typename mpl::deref< iter_6 > ::type
  725. , typename mpl::deref< iter_7 > ::type
  726. , typename mpl::deref< iter_8 > ::type
  727. , typename mpl::deref< iter_9 > ::type
  728. , typename mpl::deref< iter_10 > ::type
  729. , typename mpl::deref< iter_11 > ::type
  730. , typename mpl::deref< iter_12 > ::type
  731. , typename mpl::deref< iter_13 > ::type
  732. , typename mpl::deref< iter_14 > ::type
  733. , typename mpl::deref< iter_15 > ::type
  734. , typename mpl::deref< iter_16 > ::type
  735. , typename mpl::deref< iter_17 > ::type
  736. , typename mpl::deref< iter_18 > ::type
  737. , typename mpl::deref< iter_19 > ::type
  738. , typename mpl::deref< iter_20 > ::type
  739. , typename mpl::deref< iter_21 > ::type
  740. , typename mpl::deref< iter_22 > ::type
  741. , typename mpl::deref< iter_23 > ::type
  742. , typename mpl::deref< iter_24 > ::type
  743. , typename mpl::deref< iter_25 > ::type
  744. , typename mpl::deref< iter_26 > ::type
  745. , typename mpl::deref< iter_27 > ::type
  746. , typename mpl::deref< iter_28 > ::type
  747. , typename mpl::deref< iter_29 > ::type
  748. , typename mpl::deref< iter_30 > ::type
  749. , typename mpl::deref< iter_31 > ::type
  750. , typename mpl::deref< iter_32 > ::type
  751. , typename mpl::deref< iter_33 > ::type
  752. , typename mpl::deref< iter_34 > ::type
  753. , typename mpl::deref< iter_35 > ::type
  754. , typename mpl::deref< iter_36 > ::type
  755. , typename mpl::deref< iter_37 > ::type
  756. , typename mpl::deref< iter_38 > ::type
  757. , typename mpl::deref< iter_39 > ::type
  758. , typename mpl::deref< iter_40 > ::type
  759. , typename mpl::deref< iter_41 > ::type
  760. , typename mpl::deref< iter_42 > ::type
  761. , typename mpl::deref< iter_43 > ::type
  762. , typename mpl::deref< iter_44 > ::type
  763. , typename mpl::deref< iter_45 > ::type
  764. , typename mpl::deref< iter_46 > ::type
  765. , typename mpl::deref< iter_47 > ::type
  766. > ::type type;
  767. };
  768. };
  769. 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 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 >
  770. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48)
  771. {
  772. 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 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 BOOST_FT_ell) BOOST_FT_cv ;
  773. };
  774. template< >
  775. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 49 >
  776. {
  777. template<typename S> struct synthesize_impl_i
  778. {
  779. private:
  780. typedef typename mpl::begin<S> ::type iter_0;
  781. typedef typename mpl::next< iter_0 > ::type iter_1;
  782. typedef typename mpl::next< iter_1 > ::type iter_2;
  783. typedef typename mpl::next< iter_2 > ::type iter_3;
  784. typedef typename mpl::next< iter_3 > ::type iter_4;
  785. typedef typename mpl::next< iter_4 > ::type iter_5;
  786. typedef typename mpl::next< iter_5 > ::type iter_6;
  787. typedef typename mpl::next< iter_6 > ::type iter_7;
  788. typedef typename mpl::next< iter_7 > ::type iter_8;
  789. typedef typename mpl::next< iter_8 > ::type iter_9;
  790. typedef typename mpl::next< iter_9 > ::type iter_10;
  791. typedef typename mpl::next< iter_10 > ::type iter_11;
  792. typedef typename mpl::next< iter_11 > ::type iter_12;
  793. typedef typename mpl::next< iter_12 > ::type iter_13;
  794. typedef typename mpl::next< iter_13 > ::type iter_14;
  795. typedef typename mpl::next< iter_14 > ::type iter_15;
  796. typedef typename mpl::next< iter_15 > ::type iter_16;
  797. typedef typename mpl::next< iter_16 > ::type iter_17;
  798. typedef typename mpl::next< iter_17 > ::type iter_18;
  799. typedef typename mpl::next< iter_18 > ::type iter_19;
  800. typedef typename mpl::next< iter_19 > ::type iter_20;
  801. typedef typename mpl::next< iter_20 > ::type iter_21;
  802. typedef typename mpl::next< iter_21 > ::type iter_22;
  803. typedef typename mpl::next< iter_22 > ::type iter_23;
  804. typedef typename mpl::next< iter_23 > ::type iter_24;
  805. typedef typename mpl::next< iter_24 > ::type iter_25;
  806. typedef typename mpl::next< iter_25 > ::type iter_26;
  807. typedef typename mpl::next< iter_26 > ::type iter_27;
  808. typedef typename mpl::next< iter_27 > ::type iter_28;
  809. typedef typename mpl::next< iter_28 > ::type iter_29;
  810. typedef typename mpl::next< iter_29 > ::type iter_30;
  811. typedef typename mpl::next< iter_30 > ::type iter_31;
  812. typedef typename mpl::next< iter_31 > ::type iter_32;
  813. typedef typename mpl::next< iter_32 > ::type iter_33;
  814. typedef typename mpl::next< iter_33 > ::type iter_34;
  815. typedef typename mpl::next< iter_34 > ::type iter_35;
  816. typedef typename mpl::next< iter_35 > ::type iter_36;
  817. typedef typename mpl::next< iter_36 > ::type iter_37;
  818. typedef typename mpl::next< iter_37 > ::type iter_38;
  819. typedef typename mpl::next< iter_38 > ::type iter_39;
  820. typedef typename mpl::next< iter_39 > ::type iter_40;
  821. typedef typename mpl::next< iter_40 > ::type iter_41;
  822. typedef typename mpl::next< iter_41 > ::type iter_42;
  823. typedef typename mpl::next< iter_42 > ::type iter_43;
  824. typedef typename mpl::next< iter_43 > ::type iter_44;
  825. typedef typename mpl::next< iter_44 > ::type iter_45;
  826. typedef typename mpl::next< iter_45 > ::type iter_46;
  827. typedef typename mpl::next< iter_46 > ::type iter_47;
  828. typedef typename mpl::next< iter_47 > ::type iter_48;
  829. public:
  830. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48)
  831. < typename mpl::deref< iter_0 > ::type
  832. , typename detail::cv_traits<
  833. typename mpl::deref< iter_1 > ::type > ::type
  834. , typename mpl::deref< iter_2 > ::type
  835. , typename mpl::deref< iter_3 > ::type
  836. , typename mpl::deref< iter_4 > ::type
  837. , typename mpl::deref< iter_5 > ::type
  838. , typename mpl::deref< iter_6 > ::type
  839. , typename mpl::deref< iter_7 > ::type
  840. , typename mpl::deref< iter_8 > ::type
  841. , typename mpl::deref< iter_9 > ::type
  842. , typename mpl::deref< iter_10 > ::type
  843. , typename mpl::deref< iter_11 > ::type
  844. , typename mpl::deref< iter_12 > ::type
  845. , typename mpl::deref< iter_13 > ::type
  846. , typename mpl::deref< iter_14 > ::type
  847. , typename mpl::deref< iter_15 > ::type
  848. , typename mpl::deref< iter_16 > ::type
  849. , typename mpl::deref< iter_17 > ::type
  850. , typename mpl::deref< iter_18 > ::type
  851. , typename mpl::deref< iter_19 > ::type
  852. , typename mpl::deref< iter_20 > ::type
  853. , typename mpl::deref< iter_21 > ::type
  854. , typename mpl::deref< iter_22 > ::type
  855. , typename mpl::deref< iter_23 > ::type
  856. , typename mpl::deref< iter_24 > ::type
  857. , typename mpl::deref< iter_25 > ::type
  858. , typename mpl::deref< iter_26 > ::type
  859. , typename mpl::deref< iter_27 > ::type
  860. , typename mpl::deref< iter_28 > ::type
  861. , typename mpl::deref< iter_29 > ::type
  862. , typename mpl::deref< iter_30 > ::type
  863. , typename mpl::deref< iter_31 > ::type
  864. , typename mpl::deref< iter_32 > ::type
  865. , typename mpl::deref< iter_33 > ::type
  866. , typename mpl::deref< iter_34 > ::type
  867. , typename mpl::deref< iter_35 > ::type
  868. , typename mpl::deref< iter_36 > ::type
  869. , typename mpl::deref< iter_37 > ::type
  870. , typename mpl::deref< iter_38 > ::type
  871. , typename mpl::deref< iter_39 > ::type
  872. , typename mpl::deref< iter_40 > ::type
  873. , typename mpl::deref< iter_41 > ::type
  874. , typename mpl::deref< iter_42 > ::type
  875. , typename mpl::deref< iter_43 > ::type
  876. , typename mpl::deref< iter_44 > ::type
  877. , typename mpl::deref< iter_45 > ::type
  878. , typename mpl::deref< iter_46 > ::type
  879. , typename mpl::deref< iter_47 > ::type
  880. , typename mpl::deref< iter_48 > ::type
  881. > ::type type;
  882. };
  883. };
  884. 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 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 >
  885. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49)
  886. {
  887. 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 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 BOOST_FT_ell) BOOST_FT_cv ;
  888. };
  889. template< >
  890. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 50 >
  891. {
  892. template<typename S> struct synthesize_impl_i
  893. {
  894. private:
  895. typedef typename mpl::begin<S> ::type iter_0;
  896. typedef typename mpl::next< iter_0 > ::type iter_1;
  897. typedef typename mpl::next< iter_1 > ::type iter_2;
  898. typedef typename mpl::next< iter_2 > ::type iter_3;
  899. typedef typename mpl::next< iter_3 > ::type iter_4;
  900. typedef typename mpl::next< iter_4 > ::type iter_5;
  901. typedef typename mpl::next< iter_5 > ::type iter_6;
  902. typedef typename mpl::next< iter_6 > ::type iter_7;
  903. typedef typename mpl::next< iter_7 > ::type iter_8;
  904. typedef typename mpl::next< iter_8 > ::type iter_9;
  905. typedef typename mpl::next< iter_9 > ::type iter_10;
  906. typedef typename mpl::next< iter_10 > ::type iter_11;
  907. typedef typename mpl::next< iter_11 > ::type iter_12;
  908. typedef typename mpl::next< iter_12 > ::type iter_13;
  909. typedef typename mpl::next< iter_13 > ::type iter_14;
  910. typedef typename mpl::next< iter_14 > ::type iter_15;
  911. typedef typename mpl::next< iter_15 > ::type iter_16;
  912. typedef typename mpl::next< iter_16 > ::type iter_17;
  913. typedef typename mpl::next< iter_17 > ::type iter_18;
  914. typedef typename mpl::next< iter_18 > ::type iter_19;
  915. typedef typename mpl::next< iter_19 > ::type iter_20;
  916. typedef typename mpl::next< iter_20 > ::type iter_21;
  917. typedef typename mpl::next< iter_21 > ::type iter_22;
  918. typedef typename mpl::next< iter_22 > ::type iter_23;
  919. typedef typename mpl::next< iter_23 > ::type iter_24;
  920. typedef typename mpl::next< iter_24 > ::type iter_25;
  921. typedef typename mpl::next< iter_25 > ::type iter_26;
  922. typedef typename mpl::next< iter_26 > ::type iter_27;
  923. typedef typename mpl::next< iter_27 > ::type iter_28;
  924. typedef typename mpl::next< iter_28 > ::type iter_29;
  925. typedef typename mpl::next< iter_29 > ::type iter_30;
  926. typedef typename mpl::next< iter_30 > ::type iter_31;
  927. typedef typename mpl::next< iter_31 > ::type iter_32;
  928. typedef typename mpl::next< iter_32 > ::type iter_33;
  929. typedef typename mpl::next< iter_33 > ::type iter_34;
  930. typedef typename mpl::next< iter_34 > ::type iter_35;
  931. typedef typename mpl::next< iter_35 > ::type iter_36;
  932. typedef typename mpl::next< iter_36 > ::type iter_37;
  933. typedef typename mpl::next< iter_37 > ::type iter_38;
  934. typedef typename mpl::next< iter_38 > ::type iter_39;
  935. typedef typename mpl::next< iter_39 > ::type iter_40;
  936. typedef typename mpl::next< iter_40 > ::type iter_41;
  937. typedef typename mpl::next< iter_41 > ::type iter_42;
  938. typedef typename mpl::next< iter_42 > ::type iter_43;
  939. typedef typename mpl::next< iter_43 > ::type iter_44;
  940. typedef typename mpl::next< iter_44 > ::type iter_45;
  941. typedef typename mpl::next< iter_45 > ::type iter_46;
  942. typedef typename mpl::next< iter_46 > ::type iter_47;
  943. typedef typename mpl::next< iter_47 > ::type iter_48;
  944. typedef typename mpl::next< iter_48 > ::type iter_49;
  945. public:
  946. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49)
  947. < typename mpl::deref< iter_0 > ::type
  948. , typename detail::cv_traits<
  949. typename mpl::deref< iter_1 > ::type > ::type
  950. , typename mpl::deref< iter_2 > ::type
  951. , typename mpl::deref< iter_3 > ::type
  952. , typename mpl::deref< iter_4 > ::type
  953. , typename mpl::deref< iter_5 > ::type
  954. , typename mpl::deref< iter_6 > ::type
  955. , typename mpl::deref< iter_7 > ::type
  956. , typename mpl::deref< iter_8 > ::type
  957. , typename mpl::deref< iter_9 > ::type
  958. , typename mpl::deref< iter_10 > ::type
  959. , typename mpl::deref< iter_11 > ::type
  960. , typename mpl::deref< iter_12 > ::type
  961. , typename mpl::deref< iter_13 > ::type
  962. , typename mpl::deref< iter_14 > ::type
  963. , typename mpl::deref< iter_15 > ::type
  964. , typename mpl::deref< iter_16 > ::type
  965. , typename mpl::deref< iter_17 > ::type
  966. , typename mpl::deref< iter_18 > ::type
  967. , typename mpl::deref< iter_19 > ::type
  968. , typename mpl::deref< iter_20 > ::type
  969. , typename mpl::deref< iter_21 > ::type
  970. , typename mpl::deref< iter_22 > ::type
  971. , typename mpl::deref< iter_23 > ::type
  972. , typename mpl::deref< iter_24 > ::type
  973. , typename mpl::deref< iter_25 > ::type
  974. , typename mpl::deref< iter_26 > ::type
  975. , typename mpl::deref< iter_27 > ::type
  976. , typename mpl::deref< iter_28 > ::type
  977. , typename mpl::deref< iter_29 > ::type
  978. , typename mpl::deref< iter_30 > ::type
  979. , typename mpl::deref< iter_31 > ::type
  980. , typename mpl::deref< iter_32 > ::type
  981. , typename mpl::deref< iter_33 > ::type
  982. , typename mpl::deref< iter_34 > ::type
  983. , typename mpl::deref< iter_35 > ::type
  984. , typename mpl::deref< iter_36 > ::type
  985. , typename mpl::deref< iter_37 > ::type
  986. , typename mpl::deref< iter_38 > ::type
  987. , typename mpl::deref< iter_39 > ::type
  988. , typename mpl::deref< iter_40 > ::type
  989. , typename mpl::deref< iter_41 > ::type
  990. , typename mpl::deref< iter_42 > ::type
  991. , typename mpl::deref< iter_43 > ::type
  992. , typename mpl::deref< iter_44 > ::type
  993. , typename mpl::deref< iter_45 > ::type
  994. , typename mpl::deref< iter_46 > ::type
  995. , typename mpl::deref< iter_47 > ::type
  996. , typename mpl::deref< iter_48 > ::type
  997. , typename mpl::deref< iter_49 > ::type
  998. > ::type type;
  999. };
  1000. };
  1001. 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 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 >
  1002. struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50)
  1003. {
  1004. 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 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 BOOST_FT_ell) BOOST_FT_cv ;
  1005. };
  1006. template< >
  1007. struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 51 >
  1008. {
  1009. template<typename S> struct synthesize_impl_i
  1010. {
  1011. private:
  1012. typedef typename mpl::begin<S> ::type iter_0;
  1013. typedef typename mpl::next< iter_0 > ::type iter_1;
  1014. typedef typename mpl::next< iter_1 > ::type iter_2;
  1015. typedef typename mpl::next< iter_2 > ::type iter_3;
  1016. typedef typename mpl::next< iter_3 > ::type iter_4;
  1017. typedef typename mpl::next< iter_4 > ::type iter_5;
  1018. typedef typename mpl::next< iter_5 > ::type iter_6;
  1019. typedef typename mpl::next< iter_6 > ::type iter_7;
  1020. typedef typename mpl::next< iter_7 > ::type iter_8;
  1021. typedef typename mpl::next< iter_8 > ::type iter_9;
  1022. typedef typename mpl::next< iter_9 > ::type iter_10;
  1023. typedef typename mpl::next< iter_10 > ::type iter_11;
  1024. typedef typename mpl::next< iter_11 > ::type iter_12;
  1025. typedef typename mpl::next< iter_12 > ::type iter_13;
  1026. typedef typename mpl::next< iter_13 > ::type iter_14;
  1027. typedef typename mpl::next< iter_14 > ::type iter_15;
  1028. typedef typename mpl::next< iter_15 > ::type iter_16;
  1029. typedef typename mpl::next< iter_16 > ::type iter_17;
  1030. typedef typename mpl::next< iter_17 > ::type iter_18;
  1031. typedef typename mpl::next< iter_18 > ::type iter_19;
  1032. typedef typename mpl::next< iter_19 > ::type iter_20;
  1033. typedef typename mpl::next< iter_20 > ::type iter_21;
  1034. typedef typename mpl::next< iter_21 > ::type iter_22;
  1035. typedef typename mpl::next< iter_22 > ::type iter_23;
  1036. typedef typename mpl::next< iter_23 > ::type iter_24;
  1037. typedef typename mpl::next< iter_24 > ::type iter_25;
  1038. typedef typename mpl::next< iter_25 > ::type iter_26;
  1039. typedef typename mpl::next< iter_26 > ::type iter_27;
  1040. typedef typename mpl::next< iter_27 > ::type iter_28;
  1041. typedef typename mpl::next< iter_28 > ::type iter_29;
  1042. typedef typename mpl::next< iter_29 > ::type iter_30;
  1043. typedef typename mpl::next< iter_30 > ::type iter_31;
  1044. typedef typename mpl::next< iter_31 > ::type iter_32;
  1045. typedef typename mpl::next< iter_32 > ::type iter_33;
  1046. typedef typename mpl::next< iter_33 > ::type iter_34;
  1047. typedef typename mpl::next< iter_34 > ::type iter_35;
  1048. typedef typename mpl::next< iter_35 > ::type iter_36;
  1049. typedef typename mpl::next< iter_36 > ::type iter_37;
  1050. typedef typename mpl::next< iter_37 > ::type iter_38;
  1051. typedef typename mpl::next< iter_38 > ::type iter_39;
  1052. typedef typename mpl::next< iter_39 > ::type iter_40;
  1053. typedef typename mpl::next< iter_40 > ::type iter_41;
  1054. typedef typename mpl::next< iter_41 > ::type iter_42;
  1055. typedef typename mpl::next< iter_42 > ::type iter_43;
  1056. typedef typename mpl::next< iter_43 > ::type iter_44;
  1057. typedef typename mpl::next< iter_44 > ::type iter_45;
  1058. typedef typename mpl::next< iter_45 > ::type iter_46;
  1059. typedef typename mpl::next< iter_46 > ::type iter_47;
  1060. typedef typename mpl::next< iter_47 > ::type iter_48;
  1061. typedef typename mpl::next< iter_48 > ::type iter_49;
  1062. typedef typename mpl::next< iter_49 > ::type iter_50;
  1063. public:
  1064. typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50)
  1065. < typename mpl::deref< iter_0 > ::type
  1066. , typename detail::cv_traits<
  1067. typename mpl::deref< iter_1 > ::type > ::type
  1068. , typename mpl::deref< iter_2 > ::type
  1069. , typename mpl::deref< iter_3 > ::type
  1070. , typename mpl::deref< iter_4 > ::type
  1071. , typename mpl::deref< iter_5 > ::type
  1072. , typename mpl::deref< iter_6 > ::type
  1073. , typename mpl::deref< iter_7 > ::type
  1074. , typename mpl::deref< iter_8 > ::type
  1075. , typename mpl::deref< iter_9 > ::type
  1076. , typename mpl::deref< iter_10 > ::type
  1077. , typename mpl::deref< iter_11 > ::type
  1078. , typename mpl::deref< iter_12 > ::type
  1079. , typename mpl::deref< iter_13 > ::type
  1080. , typename mpl::deref< iter_14 > ::type
  1081. , typename mpl::deref< iter_15 > ::type
  1082. , typename mpl::deref< iter_16 > ::type
  1083. , typename mpl::deref< iter_17 > ::type
  1084. , typename mpl::deref< iter_18 > ::type
  1085. , typename mpl::deref< iter_19 > ::type
  1086. , typename mpl::deref< iter_20 > ::type
  1087. , typename mpl::deref< iter_21 > ::type
  1088. , typename mpl::deref< iter_22 > ::type
  1089. , typename mpl::deref< iter_23 > ::type
  1090. , typename mpl::deref< iter_24 > ::type
  1091. , typename mpl::deref< iter_25 > ::type
  1092. , typename mpl::deref< iter_26 > ::type
  1093. , typename mpl::deref< iter_27 > ::type
  1094. , typename mpl::deref< iter_28 > ::type
  1095. , typename mpl::deref< iter_29 > ::type
  1096. , typename mpl::deref< iter_30 > ::type
  1097. , typename mpl::deref< iter_31 > ::type
  1098. , typename mpl::deref< iter_32 > ::type
  1099. , typename mpl::deref< iter_33 > ::type
  1100. , typename mpl::deref< iter_34 > ::type
  1101. , typename mpl::deref< iter_35 > ::type
  1102. , typename mpl::deref< iter_36 > ::type
  1103. , typename mpl::deref< iter_37 > ::type
  1104. , typename mpl::deref< iter_38 > ::type
  1105. , typename mpl::deref< iter_39 > ::type
  1106. , typename mpl::deref< iter_40 > ::type
  1107. , typename mpl::deref< iter_41 > ::type
  1108. , typename mpl::deref< iter_42 > ::type
  1109. , typename mpl::deref< iter_43 > ::type
  1110. , typename mpl::deref< iter_44 > ::type
  1111. , typename mpl::deref< iter_45 > ::type
  1112. , typename mpl::deref< iter_46 > ::type
  1113. , typename mpl::deref< iter_47 > ::type
  1114. , typename mpl::deref< iter_48 > ::type
  1115. , typename mpl::deref< iter_49 > ::type
  1116. , typename mpl::deref< iter_50 > ::type
  1117. > ::type type;
  1118. };
  1119. };
  1120. # undef BOOST_FT_make_type
  1121. # undef BOOST_FT_make_type_impl