try_catch_expression_40.hpp 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032
  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. {};
  359. template <
  360. typename Try
  361. ,
  362. 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 , typename A20
  363. >
  364. struct try_catch<
  365. Try
  366. ,
  367. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20
  368. >
  369. : expr_ext<
  370. try_catch_actor
  371. , tag::try_catch
  372. , Try
  373. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20
  374. >
  375. {};
  376. template <
  377. typename Try
  378. ,
  379. 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 , typename A20 , typename A21
  380. >
  381. struct try_catch<
  382. Try
  383. ,
  384. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21
  385. >
  386. : expr_ext<
  387. try_catch_actor
  388. , tag::try_catch
  389. , Try
  390. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21
  391. >
  392. {};
  393. template <
  394. typename Try
  395. ,
  396. 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 , typename A20 , typename A21 , typename A22
  397. >
  398. struct try_catch<
  399. Try
  400. ,
  401. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22
  402. >
  403. : expr_ext<
  404. try_catch_actor
  405. , tag::try_catch
  406. , Try
  407. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22
  408. >
  409. {};
  410. template <
  411. typename Try
  412. ,
  413. 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 , typename A20 , typename A21 , typename A22 , typename A23
  414. >
  415. struct try_catch<
  416. Try
  417. ,
  418. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23
  419. >
  420. : expr_ext<
  421. try_catch_actor
  422. , tag::try_catch
  423. , Try
  424. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23
  425. >
  426. {};
  427. template <
  428. typename Try
  429. ,
  430. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
  431. >
  432. struct try_catch<
  433. Try
  434. ,
  435. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24
  436. >
  437. : expr_ext<
  438. try_catch_actor
  439. , tag::try_catch
  440. , Try
  441. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24
  442. >
  443. {};
  444. template <
  445. typename Try
  446. ,
  447. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
  448. >
  449. struct try_catch<
  450. Try
  451. ,
  452. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25
  453. >
  454. : expr_ext<
  455. try_catch_actor
  456. , tag::try_catch
  457. , Try
  458. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25
  459. >
  460. {};
  461. template <
  462. typename Try
  463. ,
  464. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
  465. >
  466. struct try_catch<
  467. Try
  468. ,
  469. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26
  470. >
  471. : expr_ext<
  472. try_catch_actor
  473. , tag::try_catch
  474. , Try
  475. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26
  476. >
  477. {};
  478. template <
  479. typename Try
  480. ,
  481. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
  482. >
  483. struct try_catch<
  484. Try
  485. ,
  486. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27
  487. >
  488. : expr_ext<
  489. try_catch_actor
  490. , tag::try_catch
  491. , Try
  492. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27
  493. >
  494. {};
  495. template <
  496. typename Try
  497. ,
  498. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
  499. >
  500. struct try_catch<
  501. Try
  502. ,
  503. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28
  504. >
  505. : expr_ext<
  506. try_catch_actor
  507. , tag::try_catch
  508. , Try
  509. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28
  510. >
  511. {};
  512. template <
  513. typename Try
  514. ,
  515. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29
  516. >
  517. struct try_catch<
  518. Try
  519. ,
  520. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29
  521. >
  522. : expr_ext<
  523. try_catch_actor
  524. , tag::try_catch
  525. , Try
  526. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29
  527. >
  528. {};
  529. template <
  530. typename Try
  531. ,
  532. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30
  533. >
  534. struct try_catch<
  535. Try
  536. ,
  537. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30
  538. >
  539. : expr_ext<
  540. try_catch_actor
  541. , tag::try_catch
  542. , Try
  543. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30
  544. >
  545. {};
  546. template <
  547. typename Try
  548. ,
  549. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31
  550. >
  551. struct try_catch<
  552. Try
  553. ,
  554. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31
  555. >
  556. : expr_ext<
  557. try_catch_actor
  558. , tag::try_catch
  559. , Try
  560. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31
  561. >
  562. {};
  563. template <
  564. typename Try
  565. ,
  566. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32
  567. >
  568. struct try_catch<
  569. Try
  570. ,
  571. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32
  572. >
  573. : expr_ext<
  574. try_catch_actor
  575. , tag::try_catch
  576. , Try
  577. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32
  578. >
  579. {};
  580. template <
  581. typename Try
  582. ,
  583. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33
  584. >
  585. struct try_catch<
  586. Try
  587. ,
  588. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33
  589. >
  590. : expr_ext<
  591. try_catch_actor
  592. , tag::try_catch
  593. , Try
  594. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33
  595. >
  596. {};
  597. template <
  598. typename Try
  599. ,
  600. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34
  601. >
  602. struct try_catch<
  603. Try
  604. ,
  605. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34
  606. >
  607. : expr_ext<
  608. try_catch_actor
  609. , tag::try_catch
  610. , Try
  611. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34
  612. >
  613. {};
  614. template <
  615. typename Try
  616. ,
  617. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35
  618. >
  619. struct try_catch<
  620. Try
  621. ,
  622. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35
  623. >
  624. : expr_ext<
  625. try_catch_actor
  626. , tag::try_catch
  627. , Try
  628. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35
  629. >
  630. {};
  631. template <
  632. typename Try
  633. ,
  634. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36
  635. >
  636. struct try_catch<
  637. Try
  638. ,
  639. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36
  640. >
  641. : expr_ext<
  642. try_catch_actor
  643. , tag::try_catch
  644. , Try
  645. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36
  646. >
  647. {};
  648. template <
  649. typename Try
  650. ,
  651. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37
  652. >
  653. struct try_catch<
  654. Try
  655. ,
  656. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37
  657. >
  658. : expr_ext<
  659. try_catch_actor
  660. , tag::try_catch
  661. , Try
  662. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37
  663. >
  664. {};
  665. template <
  666. typename Try
  667. ,
  668. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38
  669. >
  670. struct try_catch<
  671. Try
  672. ,
  673. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38
  674. >
  675. : expr_ext<
  676. try_catch_actor
  677. , tag::try_catch
  678. , Try
  679. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38
  680. >
  681. {};
  682. template <
  683. typename Try
  684. ,
  685. 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 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39
  686. >
  687. struct try_catch<
  688. Try
  689. ,
  690. A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39
  691. >
  692. : expr_ext<
  693. try_catch_actor
  694. , tag::try_catch
  695. , Try
  696. , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39
  697. >
  698. {};