try_catch_expression_20.hpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. /*==============================================================================
  2. Copyright (c) 2005-2010 Joel de Guzman
  3. Copyright (c) 2010 Thomas Heller
  4. Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. ==============================================================================*/
  7. template <
  8. typename Try
  9. >
  10. struct try_catch<
  11. Try
  12. >
  13. : expr_ext<
  14. try_catch_actor
  15. , tag::try_catch
  16. , Try
  17. >
  18. {};
  19. template <
  20. typename Try
  21. ,
  22. typename A0
  23. >
  24. struct try_catch<
  25. Try
  26. ,
  27. A0
  28. >
  29. : expr_ext<
  30. try_catch_actor
  31. , tag::try_catch
  32. , Try
  33. , A0
  34. >
  35. {};
  36. template <
  37. typename Try
  38. ,
  39. typename A0 , typename A1
  40. >
  41. struct try_catch<
  42. Try
  43. ,
  44. A0 , A1
  45. >
  46. : expr_ext<
  47. try_catch_actor
  48. , tag::try_catch
  49. , Try
  50. , A0 , A1
  51. >
  52. {};
  53. template <
  54. typename Try
  55. ,
  56. typename A0 , typename A1 , typename A2
  57. >
  58. struct try_catch<
  59. Try
  60. ,
  61. A0 , A1 , A2
  62. >
  63. : expr_ext<
  64. try_catch_actor
  65. , tag::try_catch
  66. , Try
  67. , A0 , A1 , A2
  68. >
  69. {};
  70. template <
  71. typename Try
  72. ,
  73. typename A0 , typename A1 , typename A2 , typename A3
  74. >
  75. struct try_catch<
  76. Try
  77. ,
  78. A0 , A1 , A2 , A3
  79. >
  80. : expr_ext<
  81. try_catch_actor
  82. , tag::try_catch
  83. , Try
  84. , A0 , A1 , A2 , A3
  85. >
  86. {};
  87. template <
  88. typename Try
  89. ,
  90. typename A0 , typename A1 , typename A2 , typename A3 , typename A4
  91. >
  92. struct try_catch<
  93. Try
  94. ,
  95. A0 , A1 , A2 , A3 , A4
  96. >
  97. : expr_ext<
  98. try_catch_actor
  99. , tag::try_catch
  100. , Try
  101. , A0 , A1 , A2 , A3 , A4
  102. >
  103. {};
  104. template <
  105. typename Try
  106. ,
  107. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
  108. >
  109. struct try_catch<
  110. Try
  111. ,
  112. A0 , A1 , A2 , A3 , A4 , A5
  113. >
  114. : expr_ext<
  115. try_catch_actor
  116. , tag::try_catch
  117. , Try
  118. , A0 , A1 , A2 , A3 , A4 , A5
  119. >
  120. {};
  121. template <
  122. typename Try
  123. ,
  124. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
  125. >
  126. struct try_catch<
  127. Try
  128. ,
  129. A0 , A1 , A2 , A3 , A4 , A5 , A6
  130. >
  131. : expr_ext<
  132. try_catch_actor
  133. , tag::try_catch
  134. , Try
  135. , A0 , A1 , A2 , A3 , A4 , A5 , A6
  136. >
  137. {};
  138. template <
  139. typename Try
  140. ,
  141. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
  142. >
  143. struct try_catch<
  144. Try
  145. ,
  146. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
  147. >
  148. : expr_ext<
  149. try_catch_actor
  150. , tag::try_catch
  151. , Try
  152. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
  153. >
  154. {};
  155. template <
  156. typename Try
  157. ,
  158. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
  159. >
  160. struct try_catch<
  161. Try
  162. ,
  163. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
  164. >
  165. : expr_ext<
  166. try_catch_actor
  167. , tag::try_catch
  168. , Try
  169. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
  170. >
  171. {};
  172. template <
  173. typename Try
  174. ,
  175. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
  176. >
  177. struct try_catch<
  178. Try
  179. ,
  180. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
  181. >
  182. : expr_ext<
  183. try_catch_actor
  184. , tag::try_catch
  185. , Try
  186. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
  187. >
  188. {};
  189. template <
  190. typename Try
  191. ,
  192. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
  193. >
  194. struct try_catch<
  195. Try
  196. ,
  197. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
  198. >
  199. : expr_ext<
  200. try_catch_actor
  201. , tag::try_catch
  202. , Try
  203. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
  204. >
  205. {};
  206. template <
  207. typename Try
  208. ,
  209. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
  210. >
  211. struct try_catch<
  212. Try
  213. ,
  214. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
  215. >
  216. : expr_ext<
  217. try_catch_actor
  218. , tag::try_catch
  219. , Try
  220. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
  221. >
  222. {};
  223. template <
  224. typename Try
  225. ,
  226. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
  227. >
  228. struct try_catch<
  229. Try
  230. ,
  231. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
  232. >
  233. : expr_ext<
  234. try_catch_actor
  235. , tag::try_catch
  236. , Try
  237. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
  238. >
  239. {};
  240. template <
  241. typename Try
  242. ,
  243. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
  244. >
  245. struct try_catch<
  246. Try
  247. ,
  248. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
  249. >
  250. : expr_ext<
  251. try_catch_actor
  252. , tag::try_catch
  253. , Try
  254. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
  255. >
  256. {};
  257. template <
  258. typename Try
  259. ,
  260. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
  261. >
  262. struct try_catch<
  263. Try
  264. ,
  265. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
  266. >
  267. : expr_ext<
  268. try_catch_actor
  269. , tag::try_catch
  270. , Try
  271. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
  272. >
  273. {};
  274. template <
  275. typename Try
  276. ,
  277. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
  278. >
  279. struct try_catch<
  280. Try
  281. ,
  282. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
  283. >
  284. : expr_ext<
  285. try_catch_actor
  286. , tag::try_catch
  287. , Try
  288. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
  289. >
  290. {};
  291. template <
  292. typename Try
  293. ,
  294. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
  295. >
  296. struct try_catch<
  297. Try
  298. ,
  299. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
  300. >
  301. : expr_ext<
  302. try_catch_actor
  303. , tag::try_catch
  304. , Try
  305. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
  306. >
  307. {};
  308. template <
  309. typename Try
  310. ,
  311. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
  312. >
  313. struct try_catch<
  314. Try
  315. ,
  316. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
  317. >
  318. : expr_ext<
  319. try_catch_actor
  320. , tag::try_catch
  321. , Try
  322. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
  323. >
  324. {};
  325. template <
  326. typename Try
  327. ,
  328. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
  329. >
  330. struct try_catch<
  331. Try
  332. ,
  333. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
  334. >
  335. : expr_ext<
  336. try_catch_actor
  337. , tag::try_catch
  338. , Try
  339. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
  340. >
  341. {};
  342. template <
  343. typename Try
  344. ,
  345. typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
  346. >
  347. struct try_catch<
  348. Try
  349. ,
  350. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
  351. >
  352. : expr_ext<
  353. try_catch_actor
  354. , tag::try_catch
  355. , Try
  356. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
  357. >
  358. {};