arity30_0.hpp 34 KB

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