try_catch_expression_10.hpp 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  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. {};