1 /*==============================================================================
2     Copyright (c) 2005-2010 Joel de Guzman
3     Copyright (c) 2010 Thomas Heller
4 
5     Distributed under the Boost Software License, Version 1.0. (See accompanying
6     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
8 
9 
10 
11 
12 
13 
14 
15         template <
16             typename Try
17 
18 
19         >
20         struct try_catch<
21             Try
22 
23 
24         >
25             : expr_ext<
26                 try_catch_actor
27               , tag::try_catch
28               , Try
29 
30             >
31         {};
32 
33 
34 
35 
36 
37 
38 
39 
40         template <
41             typename Try
42             ,
43             typename A0
44         >
45         struct try_catch<
46             Try
47             ,
48             A0
49         >
50             : expr_ext<
51                 try_catch_actor
52               , tag::try_catch
53               , Try
54               , A0
55             >
56         {};
57 
58 
59 
60 
61 
62 
63 
64 
65         template <
66             typename Try
67             ,
68             typename A0 , typename A1
69         >
70         struct try_catch<
71             Try
72             ,
73             A0 , A1
74         >
75             : expr_ext<
76                 try_catch_actor
77               , tag::try_catch
78               , Try
79               , A0 , A1
80             >
81         {};
82 
83 
84 
85 
86 
87 
88 
89 
90         template <
91             typename Try
92             ,
93             typename A0 , typename A1 , typename A2
94         >
95         struct try_catch<
96             Try
97             ,
98             A0 , A1 , A2
99         >
100             : expr_ext<
101                 try_catch_actor
102               , tag::try_catch
103               , Try
104               , A0 , A1 , A2
105             >
106         {};
107 
108 
109 
110 
111 
112 
113 
114 
115         template <
116             typename Try
117             ,
118             typename A0 , typename A1 , typename A2 , typename A3
119         >
120         struct try_catch<
121             Try
122             ,
123             A0 , A1 , A2 , A3
124         >
125             : expr_ext<
126                 try_catch_actor
127               , tag::try_catch
128               , Try
129               , A0 , A1 , A2 , A3
130             >
131         {};
132 
133 
134 
135 
136 
137 
138 
139 
140         template <
141             typename Try
142             ,
143             typename A0 , typename A1 , typename A2 , typename A3 , typename A4
144         >
145         struct try_catch<
146             Try
147             ,
148             A0 , A1 , A2 , A3 , A4
149         >
150             : expr_ext<
151                 try_catch_actor
152               , tag::try_catch
153               , Try
154               , A0 , A1 , A2 , A3 , A4
155             >
156         {};
157 
158 
159 
160 
161 
162 
163 
164 
165         template <
166             typename Try
167             ,
168             typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
169         >
170         struct try_catch<
171             Try
172             ,
173             A0 , A1 , A2 , A3 , A4 , A5
174         >
175             : expr_ext<
176                 try_catch_actor
177               , tag::try_catch
178               , Try
179               , A0 , A1 , A2 , A3 , A4 , A5
180             >
181         {};
182 
183 
184 
185 
186 
187 
188 
189 
190         template <
191             typename Try
192             ,
193             typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
194         >
195         struct try_catch<
196             Try
197             ,
198             A0 , A1 , A2 , A3 , A4 , A5 , A6
199         >
200             : expr_ext<
201                 try_catch_actor
202               , tag::try_catch
203               , Try
204               , A0 , A1 , A2 , A3 , A4 , A5 , A6
205             >
206         {};
207 
208 
209 
210 
211 
212 
213 
214 
215         template <
216             typename Try
217             ,
218             typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
219         >
220         struct try_catch<
221             Try
222             ,
223             A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
224         >
225             : expr_ext<
226                 try_catch_actor
227               , tag::try_catch
228               , Try
229               , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
230             >
231         {};
232 
233 
234 
235 
236 
237 
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
244         >
245         struct try_catch<
246             Try
247             ,
248             A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
249         >
250             : expr_ext<
251                 try_catch_actor
252               , tag::try_catch
253               , Try
254               , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
255             >
256         {};
257 
258 
259 
260 
261 
262 
263 
264 
265         template <
266             typename Try
267             ,
268             typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
269         >
270         struct try_catch<
271             Try
272             ,
273             A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
274         >
275             : expr_ext<
276                 try_catch_actor
277               , tag::try_catch
278               , Try
279               , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
280             >
281         {};
282 
283