]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/phoenix/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_20.hpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / phoenix / include / boost / phoenix / statement / detail / preprocessed / catch_push_back_20.hpp
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 <typename TryCatch, typename Exception, typename Capture, typename Expr>
16 struct catch_push_back<TryCatch, Exception, Capture, Expr, 2>
17 {
18 typedef
19 typename proto::result_of::make_expr<
20 phoenix::tag::catch_
21 , proto::basic_default_domain
22 , catch_exception<Exception>
23 , Capture
24 , Expr
25 >::type
26 catch_expr;
27 typedef phoenix::expression::try_catch<
28 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
29 , catch_expr> gen_type;
30 typedef typename gen_type::type type;
31 static type
32 make(
33 TryCatch const& try_catch
34 , Capture const& capture
35 , Expr const& catch_
36 )
37 {
38 return
39 gen_type::make(
40 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
41 , proto::make_expr<
42 phoenix::tag::catch_
43 , proto::basic_default_domain
44 >(catch_exception<Exception>(), capture, catch_)
45 );
46 }
47 };
48 template <typename TryCatch, typename Exception, typename Expr>
49 struct catch_push_back<TryCatch, Exception, void, Expr, 2>
50 {
51 typedef
52 typename proto::result_of::make_expr<
53 phoenix::tag::catch_
54 , proto::basic_default_domain
55 , catch_exception<Exception>
56 , Expr
57 >::type
58 catch_expr;
59 typedef phoenix::expression::try_catch<
60 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
61 , catch_expr> gen_type;
62 typedef typename gen_type::type type;
63 static type
64 make(
65 TryCatch const& try_catch
66 , Expr const& catch_
67 )
68 {
69 return
70 gen_type::make(
71 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
72 , proto::make_expr<
73 phoenix::tag::catch_
74 , proto::basic_default_domain
75 >(catch_exception<Exception>(), catch_)
76 );
77 }
78 };
79 template <typename TryCatch, typename Expr>
80 struct catch_all_push_back<TryCatch, Expr, 2>
81 {
82 typedef
83 typename proto::result_of::make_expr<
84 phoenix::tag::catch_all
85 , proto::basic_default_domain
86 , Expr
87 >::type
88 catch_expr;
89 typedef phoenix::expression::try_catch<
90 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
91 , catch_expr> gen_type;
92 typedef typename gen_type::type type;
93 static type
94 make(
95 TryCatch const& try_catch
96 , Expr const& catch_
97 )
98 {
99 return
100 gen_type::make(
101 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
102 , proto::make_expr<
103 phoenix::tag::catch_all
104 , proto::basic_default_domain
105 >(catch_)
106 );
107 }
108 };
109
110
111
112
113
114
115
116 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
117 struct catch_push_back<TryCatch, Exception, Capture, Expr, 3>
118 {
119 typedef
120 typename proto::result_of::make_expr<
121 phoenix::tag::catch_
122 , proto::basic_default_domain
123 , catch_exception<Exception>
124 , Capture
125 , Expr
126 >::type
127 catch_expr;
128 typedef phoenix::expression::try_catch<
129 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type
130 , catch_expr> gen_type;
131 typedef typename gen_type::type type;
132 static type
133 make(
134 TryCatch const& try_catch
135 , Capture const& capture
136 , Expr const& catch_
137 )
138 {
139 return
140 gen_type::make(
141 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
142 , proto::make_expr<
143 phoenix::tag::catch_
144 , proto::basic_default_domain
145 >(catch_exception<Exception>(), capture, catch_)
146 );
147 }
148 };
149 template <typename TryCatch, typename Exception, typename Expr>
150 struct catch_push_back<TryCatch, Exception, void, Expr, 3>
151 {
152 typedef
153 typename proto::result_of::make_expr<
154 phoenix::tag::catch_
155 , proto::basic_default_domain
156 , catch_exception<Exception>
157 , Expr
158 >::type
159 catch_expr;
160 typedef phoenix::expression::try_catch<
161 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type
162 , catch_expr> gen_type;
163 typedef typename gen_type::type type;
164 static type
165 make(
166 TryCatch const& try_catch
167 , Expr const& catch_
168 )
169 {
170 return
171 gen_type::make(
172 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
173 , proto::make_expr<
174 phoenix::tag::catch_
175 , proto::basic_default_domain
176 >(catch_exception<Exception>(), catch_)
177 );
178 }
179 };
180 template <typename TryCatch, typename Expr>
181 struct catch_all_push_back<TryCatch, Expr, 3>
182 {
183 typedef
184 typename proto::result_of::make_expr<
185 phoenix::tag::catch_all
186 , proto::basic_default_domain
187 , Expr
188 >::type
189 catch_expr;
190 typedef phoenix::expression::try_catch<
191 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type
192 , catch_expr> gen_type;
193 typedef typename gen_type::type type;
194 static type
195 make(
196 TryCatch const& try_catch
197 , Expr const& catch_
198 )
199 {
200 return
201 gen_type::make(
202 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
203 , proto::make_expr<
204 phoenix::tag::catch_all
205 , proto::basic_default_domain
206 >(catch_)
207 );
208 }
209 };
210
211
212
213
214
215
216
217 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
218 struct catch_push_back<TryCatch, Exception, Capture, Expr, 4>
219 {
220 typedef
221 typename proto::result_of::make_expr<
222 phoenix::tag::catch_
223 , proto::basic_default_domain
224 , catch_exception<Exception>
225 , Capture
226 , Expr
227 >::type
228 catch_expr;
229 typedef phoenix::expression::try_catch<
230 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type
231 , catch_expr> gen_type;
232 typedef typename gen_type::type type;
233 static type
234 make(
235 TryCatch const& try_catch
236 , Capture const& capture
237 , Expr const& catch_
238 )
239 {
240 return
241 gen_type::make(
242 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
243 , proto::make_expr<
244 phoenix::tag::catch_
245 , proto::basic_default_domain
246 >(catch_exception<Exception>(), capture, catch_)
247 );
248 }
249 };
250 template <typename TryCatch, typename Exception, typename Expr>
251 struct catch_push_back<TryCatch, Exception, void, Expr, 4>
252 {
253 typedef
254 typename proto::result_of::make_expr<
255 phoenix::tag::catch_
256 , proto::basic_default_domain
257 , catch_exception<Exception>
258 , Expr
259 >::type
260 catch_expr;
261 typedef phoenix::expression::try_catch<
262 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type
263 , catch_expr> gen_type;
264 typedef typename gen_type::type type;
265 static type
266 make(
267 TryCatch const& try_catch
268 , Expr const& catch_
269 )
270 {
271 return
272 gen_type::make(
273 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
274 , proto::make_expr<
275 phoenix::tag::catch_
276 , proto::basic_default_domain
277 >(catch_exception<Exception>(), catch_)
278 );
279 }
280 };
281 template <typename TryCatch, typename Expr>
282 struct catch_all_push_back<TryCatch, Expr, 4>
283 {
284 typedef
285 typename proto::result_of::make_expr<
286 phoenix::tag::catch_all
287 , proto::basic_default_domain
288 , Expr
289 >::type
290 catch_expr;
291 typedef phoenix::expression::try_catch<
292 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type
293 , catch_expr> gen_type;
294 typedef typename gen_type::type type;
295 static type
296 make(
297 TryCatch const& try_catch
298 , Expr const& catch_
299 )
300 {
301 return
302 gen_type::make(
303 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
304 , proto::make_expr<
305 phoenix::tag::catch_all
306 , proto::basic_default_domain
307 >(catch_)
308 );
309 }
310 };
311
312
313
314
315
316
317
318 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
319 struct catch_push_back<TryCatch, Exception, Capture, Expr, 5>
320 {
321 typedef
322 typename proto::result_of::make_expr<
323 phoenix::tag::catch_
324 , proto::basic_default_domain
325 , catch_exception<Exception>
326 , Capture
327 , Expr
328 >::type
329 catch_expr;
330 typedef phoenix::expression::try_catch<
331 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type
332 , catch_expr> gen_type;
333 typedef typename gen_type::type type;
334 static type
335 make(
336 TryCatch const& try_catch
337 , Capture const& capture
338 , Expr const& catch_
339 )
340 {
341 return
342 gen_type::make(
343 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch)
344 , proto::make_expr<
345 phoenix::tag::catch_
346 , proto::basic_default_domain
347 >(catch_exception<Exception>(), capture, catch_)
348 );
349 }
350 };
351 template <typename TryCatch, typename Exception, typename Expr>
352 struct catch_push_back<TryCatch, Exception, void, Expr, 5>
353 {
354 typedef
355 typename proto::result_of::make_expr<
356 phoenix::tag::catch_
357 , proto::basic_default_domain
358 , catch_exception<Exception>
359 , Expr
360 >::type
361 catch_expr;
362 typedef phoenix::expression::try_catch<
363 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type
364 , catch_expr> gen_type;
365 typedef typename gen_type::type type;
366 static type
367 make(
368 TryCatch const& try_catch
369 , Expr const& catch_
370 )
371 {
372 return
373 gen_type::make(
374 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch)
375 , proto::make_expr<
376 phoenix::tag::catch_
377 , proto::basic_default_domain
378 >(catch_exception<Exception>(), catch_)
379 );
380 }
381 };
382 template <typename TryCatch, typename Expr>
383 struct catch_all_push_back<TryCatch, Expr, 5>
384 {
385 typedef
386 typename proto::result_of::make_expr<
387 phoenix::tag::catch_all
388 , proto::basic_default_domain
389 , Expr
390 >::type
391 catch_expr;
392 typedef phoenix::expression::try_catch<
393 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type
394 , catch_expr> gen_type;
395 typedef typename gen_type::type type;
396 static type
397 make(
398 TryCatch const& try_catch
399 , Expr const& catch_
400 )
401 {
402 return
403 gen_type::make(
404 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch)
405 , proto::make_expr<
406 phoenix::tag::catch_all
407 , proto::basic_default_domain
408 >(catch_)
409 );
410 }
411 };
412
413
414
415
416
417
418
419 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
420 struct catch_push_back<TryCatch, Exception, Capture, Expr, 6>
421 {
422 typedef
423 typename proto::result_of::make_expr<
424 phoenix::tag::catch_
425 , proto::basic_default_domain
426 , catch_exception<Exception>
427 , Capture
428 , Expr
429 >::type
430 catch_expr;
431 typedef phoenix::expression::try_catch<
432 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type
433 , catch_expr> gen_type;
434 typedef typename gen_type::type type;
435 static type
436 make(
437 TryCatch const& try_catch
438 , Capture const& capture
439 , Expr const& catch_
440 )
441 {
442 return
443 gen_type::make(
444 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch)
445 , proto::make_expr<
446 phoenix::tag::catch_
447 , proto::basic_default_domain
448 >(catch_exception<Exception>(), capture, catch_)
449 );
450 }
451 };
452 template <typename TryCatch, typename Exception, typename Expr>
453 struct catch_push_back<TryCatch, Exception, void, Expr, 6>
454 {
455 typedef
456 typename proto::result_of::make_expr<
457 phoenix::tag::catch_
458 , proto::basic_default_domain
459 , catch_exception<Exception>
460 , Expr
461 >::type
462 catch_expr;
463 typedef phoenix::expression::try_catch<
464 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type
465 , catch_expr> gen_type;
466 typedef typename gen_type::type type;
467 static type
468 make(
469 TryCatch const& try_catch
470 , Expr const& catch_
471 )
472 {
473 return
474 gen_type::make(
475 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch)
476 , proto::make_expr<
477 phoenix::tag::catch_
478 , proto::basic_default_domain
479 >(catch_exception<Exception>(), catch_)
480 );
481 }
482 };
483 template <typename TryCatch, typename Expr>
484 struct catch_all_push_back<TryCatch, Expr, 6>
485 {
486 typedef
487 typename proto::result_of::make_expr<
488 phoenix::tag::catch_all
489 , proto::basic_default_domain
490 , Expr
491 >::type
492 catch_expr;
493 typedef phoenix::expression::try_catch<
494 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type
495 , catch_expr> gen_type;
496 typedef typename gen_type::type type;
497 static type
498 make(
499 TryCatch const& try_catch
500 , Expr const& catch_
501 )
502 {
503 return
504 gen_type::make(
505 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch)
506 , proto::make_expr<
507 phoenix::tag::catch_all
508 , proto::basic_default_domain
509 >(catch_)
510 );
511 }
512 };
513
514
515
516
517
518
519
520 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
521 struct catch_push_back<TryCatch, Exception, Capture, Expr, 7>
522 {
523 typedef
524 typename proto::result_of::make_expr<
525 phoenix::tag::catch_
526 , proto::basic_default_domain
527 , catch_exception<Exception>
528 , Capture
529 , Expr
530 >::type
531 catch_expr;
532 typedef phoenix::expression::try_catch<
533 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type
534 , catch_expr> gen_type;
535 typedef typename gen_type::type type;
536 static type
537 make(
538 TryCatch const& try_catch
539 , Capture const& capture
540 , Expr const& catch_
541 )
542 {
543 return
544 gen_type::make(
545 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch)
546 , proto::make_expr<
547 phoenix::tag::catch_
548 , proto::basic_default_domain
549 >(catch_exception<Exception>(), capture, catch_)
550 );
551 }
552 };
553 template <typename TryCatch, typename Exception, typename Expr>
554 struct catch_push_back<TryCatch, Exception, void, Expr, 7>
555 {
556 typedef
557 typename proto::result_of::make_expr<
558 phoenix::tag::catch_
559 , proto::basic_default_domain
560 , catch_exception<Exception>
561 , Expr
562 >::type
563 catch_expr;
564 typedef phoenix::expression::try_catch<
565 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type
566 , catch_expr> gen_type;
567 typedef typename gen_type::type type;
568 static type
569 make(
570 TryCatch const& try_catch
571 , Expr const& catch_
572 )
573 {
574 return
575 gen_type::make(
576 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch)
577 , proto::make_expr<
578 phoenix::tag::catch_
579 , proto::basic_default_domain
580 >(catch_exception<Exception>(), catch_)
581 );
582 }
583 };
584 template <typename TryCatch, typename Expr>
585 struct catch_all_push_back<TryCatch, Expr, 7>
586 {
587 typedef
588 typename proto::result_of::make_expr<
589 phoenix::tag::catch_all
590 , proto::basic_default_domain
591 , Expr
592 >::type
593 catch_expr;
594 typedef phoenix::expression::try_catch<
595 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type
596 , catch_expr> gen_type;
597 typedef typename gen_type::type type;
598 static type
599 make(
600 TryCatch const& try_catch
601 , Expr const& catch_
602 )
603 {
604 return
605 gen_type::make(
606 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch)
607 , proto::make_expr<
608 phoenix::tag::catch_all
609 , proto::basic_default_domain
610 >(catch_)
611 );
612 }
613 };
614
615
616
617
618
619
620
621 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
622 struct catch_push_back<TryCatch, Exception, Capture, Expr, 8>
623 {
624 typedef
625 typename proto::result_of::make_expr<
626 phoenix::tag::catch_
627 , proto::basic_default_domain
628 , catch_exception<Exception>
629 , Capture
630 , Expr
631 >::type
632 catch_expr;
633 typedef phoenix::expression::try_catch<
634 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type
635 , catch_expr> gen_type;
636 typedef typename gen_type::type type;
637 static type
638 make(
639 TryCatch const& try_catch
640 , Capture const& capture
641 , Expr const& catch_
642 )
643 {
644 return
645 gen_type::make(
646 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch)
647 , proto::make_expr<
648 phoenix::tag::catch_
649 , proto::basic_default_domain
650 >(catch_exception<Exception>(), capture, catch_)
651 );
652 }
653 };
654 template <typename TryCatch, typename Exception, typename Expr>
655 struct catch_push_back<TryCatch, Exception, void, Expr, 8>
656 {
657 typedef
658 typename proto::result_of::make_expr<
659 phoenix::tag::catch_
660 , proto::basic_default_domain
661 , catch_exception<Exception>
662 , Expr
663 >::type
664 catch_expr;
665 typedef phoenix::expression::try_catch<
666 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type
667 , catch_expr> gen_type;
668 typedef typename gen_type::type type;
669 static type
670 make(
671 TryCatch const& try_catch
672 , Expr const& catch_
673 )
674 {
675 return
676 gen_type::make(
677 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch)
678 , proto::make_expr<
679 phoenix::tag::catch_
680 , proto::basic_default_domain
681 >(catch_exception<Exception>(), catch_)
682 );
683 }
684 };
685 template <typename TryCatch, typename Expr>
686 struct catch_all_push_back<TryCatch, Expr, 8>
687 {
688 typedef
689 typename proto::result_of::make_expr<
690 phoenix::tag::catch_all
691 , proto::basic_default_domain
692 , Expr
693 >::type
694 catch_expr;
695 typedef phoenix::expression::try_catch<
696 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type
697 , catch_expr> gen_type;
698 typedef typename gen_type::type type;
699 static type
700 make(
701 TryCatch const& try_catch
702 , Expr const& catch_
703 )
704 {
705 return
706 gen_type::make(
707 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch)
708 , proto::make_expr<
709 phoenix::tag::catch_all
710 , proto::basic_default_domain
711 >(catch_)
712 );
713 }
714 };
715
716
717
718
719
720
721
722 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
723 struct catch_push_back<TryCatch, Exception, Capture, Expr, 9>
724 {
725 typedef
726 typename proto::result_of::make_expr<
727 phoenix::tag::catch_
728 , proto::basic_default_domain
729 , catch_exception<Exception>
730 , Capture
731 , Expr
732 >::type
733 catch_expr;
734 typedef phoenix::expression::try_catch<
735 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type
736 , catch_expr> gen_type;
737 typedef typename gen_type::type type;
738 static type
739 make(
740 TryCatch const& try_catch
741 , Capture const& capture
742 , Expr const& catch_
743 )
744 {
745 return
746 gen_type::make(
747 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch)
748 , proto::make_expr<
749 phoenix::tag::catch_
750 , proto::basic_default_domain
751 >(catch_exception<Exception>(), capture, catch_)
752 );
753 }
754 };
755 template <typename TryCatch, typename Exception, typename Expr>
756 struct catch_push_back<TryCatch, Exception, void, Expr, 9>
757 {
758 typedef
759 typename proto::result_of::make_expr<
760 phoenix::tag::catch_
761 , proto::basic_default_domain
762 , catch_exception<Exception>
763 , Expr
764 >::type
765 catch_expr;
766 typedef phoenix::expression::try_catch<
767 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type
768 , catch_expr> gen_type;
769 typedef typename gen_type::type type;
770 static type
771 make(
772 TryCatch const& try_catch
773 , Expr const& catch_
774 )
775 {
776 return
777 gen_type::make(
778 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch)
779 , proto::make_expr<
780 phoenix::tag::catch_
781 , proto::basic_default_domain
782 >(catch_exception<Exception>(), catch_)
783 );
784 }
785 };
786 template <typename TryCatch, typename Expr>
787 struct catch_all_push_back<TryCatch, Expr, 9>
788 {
789 typedef
790 typename proto::result_of::make_expr<
791 phoenix::tag::catch_all
792 , proto::basic_default_domain
793 , Expr
794 >::type
795 catch_expr;
796 typedef phoenix::expression::try_catch<
797 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type
798 , catch_expr> gen_type;
799 typedef typename gen_type::type type;
800 static type
801 make(
802 TryCatch const& try_catch
803 , Expr const& catch_
804 )
805 {
806 return
807 gen_type::make(
808 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch)
809 , proto::make_expr<
810 phoenix::tag::catch_all
811 , proto::basic_default_domain
812 >(catch_)
813 );
814 }
815 };
816
817
818
819
820
821
822
823 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
824 struct catch_push_back<TryCatch, Exception, Capture, Expr, 10>
825 {
826 typedef
827 typename proto::result_of::make_expr<
828 phoenix::tag::catch_
829 , proto::basic_default_domain
830 , catch_exception<Exception>
831 , Capture
832 , Expr
833 >::type
834 catch_expr;
835 typedef phoenix::expression::try_catch<
836 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type
837 , catch_expr> gen_type;
838 typedef typename gen_type::type type;
839 static type
840 make(
841 TryCatch const& try_catch
842 , Capture const& capture
843 , Expr const& catch_
844 )
845 {
846 return
847 gen_type::make(
848 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch)
849 , proto::make_expr<
850 phoenix::tag::catch_
851 , proto::basic_default_domain
852 >(catch_exception<Exception>(), capture, catch_)
853 );
854 }
855 };
856 template <typename TryCatch, typename Exception, typename Expr>
857 struct catch_push_back<TryCatch, Exception, void, Expr, 10>
858 {
859 typedef
860 typename proto::result_of::make_expr<
861 phoenix::tag::catch_
862 , proto::basic_default_domain
863 , catch_exception<Exception>
864 , Expr
865 >::type
866 catch_expr;
867 typedef phoenix::expression::try_catch<
868 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type
869 , catch_expr> gen_type;
870 typedef typename gen_type::type type;
871 static type
872 make(
873 TryCatch const& try_catch
874 , Expr const& catch_
875 )
876 {
877 return
878 gen_type::make(
879 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch)
880 , proto::make_expr<
881 phoenix::tag::catch_
882 , proto::basic_default_domain
883 >(catch_exception<Exception>(), catch_)
884 );
885 }
886 };
887 template <typename TryCatch, typename Expr>
888 struct catch_all_push_back<TryCatch, Expr, 10>
889 {
890 typedef
891 typename proto::result_of::make_expr<
892 phoenix::tag::catch_all
893 , proto::basic_default_domain
894 , Expr
895 >::type
896 catch_expr;
897 typedef phoenix::expression::try_catch<
898 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type
899 , catch_expr> gen_type;
900 typedef typename gen_type::type type;
901 static type
902 make(
903 TryCatch const& try_catch
904 , Expr const& catch_
905 )
906 {
907 return
908 gen_type::make(
909 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch)
910 , proto::make_expr<
911 phoenix::tag::catch_all
912 , proto::basic_default_domain
913 >(catch_)
914 );
915 }
916 };
917
918
919
920
921
922
923
924 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
925 struct catch_push_back<TryCatch, Exception, Capture, Expr, 11>
926 {
927 typedef
928 typename proto::result_of::make_expr<
929 phoenix::tag::catch_
930 , proto::basic_default_domain
931 , catch_exception<Exception>
932 , Capture
933 , Expr
934 >::type
935 catch_expr;
936 typedef phoenix::expression::try_catch<
937 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
938 , catch_expr> gen_type;
939 typedef typename gen_type::type type;
940 static type
941 make(
942 TryCatch const& try_catch
943 , Capture const& capture
944 , Expr const& catch_
945 )
946 {
947 return
948 gen_type::make(
949 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
950 , proto::make_expr<
951 phoenix::tag::catch_
952 , proto::basic_default_domain
953 >(catch_exception<Exception>(), capture, catch_)
954 );
955 }
956 };
957 template <typename TryCatch, typename Exception, typename Expr>
958 struct catch_push_back<TryCatch, Exception, void, Expr, 11>
959 {
960 typedef
961 typename proto::result_of::make_expr<
962 phoenix::tag::catch_
963 , proto::basic_default_domain
964 , catch_exception<Exception>
965 , Expr
966 >::type
967 catch_expr;
968 typedef phoenix::expression::try_catch<
969 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
970 , catch_expr> gen_type;
971 typedef typename gen_type::type type;
972 static type
973 make(
974 TryCatch const& try_catch
975 , Expr const& catch_
976 )
977 {
978 return
979 gen_type::make(
980 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
981 , proto::make_expr<
982 phoenix::tag::catch_
983 , proto::basic_default_domain
984 >(catch_exception<Exception>(), catch_)
985 );
986 }
987 };
988 template <typename TryCatch, typename Expr>
989 struct catch_all_push_back<TryCatch, Expr, 11>
990 {
991 typedef
992 typename proto::result_of::make_expr<
993 phoenix::tag::catch_all
994 , proto::basic_default_domain
995 , Expr
996 >::type
997 catch_expr;
998 typedef phoenix::expression::try_catch<
999 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
1000 , catch_expr> gen_type;
1001 typedef typename gen_type::type type;
1002 static type
1003 make(
1004 TryCatch const& try_catch
1005 , Expr const& catch_
1006 )
1007 {
1008 return
1009 gen_type::make(
1010 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
1011 , proto::make_expr<
1012 phoenix::tag::catch_all
1013 , proto::basic_default_domain
1014 >(catch_)
1015 );
1016 }
1017 };
1018
1019
1020
1021
1022
1023
1024
1025 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1026 struct catch_push_back<TryCatch, Exception, Capture, Expr, 12>
1027 {
1028 typedef
1029 typename proto::result_of::make_expr<
1030 phoenix::tag::catch_
1031 , proto::basic_default_domain
1032 , catch_exception<Exception>
1033 , Capture
1034 , Expr
1035 >::type
1036 catch_expr;
1037 typedef phoenix::expression::try_catch<
1038 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
1039 , catch_expr> gen_type;
1040 typedef typename gen_type::type type;
1041 static type
1042 make(
1043 TryCatch const& try_catch
1044 , Capture const& capture
1045 , Expr const& catch_
1046 )
1047 {
1048 return
1049 gen_type::make(
1050 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
1051 , proto::make_expr<
1052 phoenix::tag::catch_
1053 , proto::basic_default_domain
1054 >(catch_exception<Exception>(), capture, catch_)
1055 );
1056 }
1057 };
1058 template <typename TryCatch, typename Exception, typename Expr>
1059 struct catch_push_back<TryCatch, Exception, void, Expr, 12>
1060 {
1061 typedef
1062 typename proto::result_of::make_expr<
1063 phoenix::tag::catch_
1064 , proto::basic_default_domain
1065 , catch_exception<Exception>
1066 , Expr
1067 >::type
1068 catch_expr;
1069 typedef phoenix::expression::try_catch<
1070 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
1071 , catch_expr> gen_type;
1072 typedef typename gen_type::type type;
1073 static type
1074 make(
1075 TryCatch const& try_catch
1076 , Expr const& catch_
1077 )
1078 {
1079 return
1080 gen_type::make(
1081 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
1082 , proto::make_expr<
1083 phoenix::tag::catch_
1084 , proto::basic_default_domain
1085 >(catch_exception<Exception>(), catch_)
1086 );
1087 }
1088 };
1089 template <typename TryCatch, typename Expr>
1090 struct catch_all_push_back<TryCatch, Expr, 12>
1091 {
1092 typedef
1093 typename proto::result_of::make_expr<
1094 phoenix::tag::catch_all
1095 , proto::basic_default_domain
1096 , Expr
1097 >::type
1098 catch_expr;
1099 typedef phoenix::expression::try_catch<
1100 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
1101 , catch_expr> gen_type;
1102 typedef typename gen_type::type type;
1103 static type
1104 make(
1105 TryCatch const& try_catch
1106 , Expr const& catch_
1107 )
1108 {
1109 return
1110 gen_type::make(
1111 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
1112 , proto::make_expr<
1113 phoenix::tag::catch_all
1114 , proto::basic_default_domain
1115 >(catch_)
1116 );
1117 }
1118 };
1119
1120
1121
1122
1123
1124
1125
1126 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1127 struct catch_push_back<TryCatch, Exception, Capture, Expr, 13>
1128 {
1129 typedef
1130 typename proto::result_of::make_expr<
1131 phoenix::tag::catch_
1132 , proto::basic_default_domain
1133 , catch_exception<Exception>
1134 , Capture
1135 , Expr
1136 >::type
1137 catch_expr;
1138 typedef phoenix::expression::try_catch<
1139 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
1140 , catch_expr> gen_type;
1141 typedef typename gen_type::type type;
1142 static type
1143 make(
1144 TryCatch const& try_catch
1145 , Capture const& capture
1146 , Expr const& catch_
1147 )
1148 {
1149 return
1150 gen_type::make(
1151 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
1152 , proto::make_expr<
1153 phoenix::tag::catch_
1154 , proto::basic_default_domain
1155 >(catch_exception<Exception>(), capture, catch_)
1156 );
1157 }
1158 };
1159 template <typename TryCatch, typename Exception, typename Expr>
1160 struct catch_push_back<TryCatch, Exception, void, Expr, 13>
1161 {
1162 typedef
1163 typename proto::result_of::make_expr<
1164 phoenix::tag::catch_
1165 , proto::basic_default_domain
1166 , catch_exception<Exception>
1167 , Expr
1168 >::type
1169 catch_expr;
1170 typedef phoenix::expression::try_catch<
1171 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
1172 , catch_expr> gen_type;
1173 typedef typename gen_type::type type;
1174 static type
1175 make(
1176 TryCatch const& try_catch
1177 , Expr const& catch_
1178 )
1179 {
1180 return
1181 gen_type::make(
1182 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
1183 , proto::make_expr<
1184 phoenix::tag::catch_
1185 , proto::basic_default_domain
1186 >(catch_exception<Exception>(), catch_)
1187 );
1188 }
1189 };
1190 template <typename TryCatch, typename Expr>
1191 struct catch_all_push_back<TryCatch, Expr, 13>
1192 {
1193 typedef
1194 typename proto::result_of::make_expr<
1195 phoenix::tag::catch_all
1196 , proto::basic_default_domain
1197 , Expr
1198 >::type
1199 catch_expr;
1200 typedef phoenix::expression::try_catch<
1201 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
1202 , catch_expr> gen_type;
1203 typedef typename gen_type::type type;
1204 static type
1205 make(
1206 TryCatch const& try_catch
1207 , Expr const& catch_
1208 )
1209 {
1210 return
1211 gen_type::make(
1212 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
1213 , proto::make_expr<
1214 phoenix::tag::catch_all
1215 , proto::basic_default_domain
1216 >(catch_)
1217 );
1218 }
1219 };
1220
1221
1222
1223
1224
1225
1226
1227 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1228 struct catch_push_back<TryCatch, Exception, Capture, Expr, 14>
1229 {
1230 typedef
1231 typename proto::result_of::make_expr<
1232 phoenix::tag::catch_
1233 , proto::basic_default_domain
1234 , catch_exception<Exception>
1235 , Capture
1236 , Expr
1237 >::type
1238 catch_expr;
1239 typedef phoenix::expression::try_catch<
1240 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
1241 , catch_expr> gen_type;
1242 typedef typename gen_type::type type;
1243 static type
1244 make(
1245 TryCatch const& try_catch
1246 , Capture const& capture
1247 , Expr const& catch_
1248 )
1249 {
1250 return
1251 gen_type::make(
1252 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
1253 , proto::make_expr<
1254 phoenix::tag::catch_
1255 , proto::basic_default_domain
1256 >(catch_exception<Exception>(), capture, catch_)
1257 );
1258 }
1259 };
1260 template <typename TryCatch, typename Exception, typename Expr>
1261 struct catch_push_back<TryCatch, Exception, void, Expr, 14>
1262 {
1263 typedef
1264 typename proto::result_of::make_expr<
1265 phoenix::tag::catch_
1266 , proto::basic_default_domain
1267 , catch_exception<Exception>
1268 , Expr
1269 >::type
1270 catch_expr;
1271 typedef phoenix::expression::try_catch<
1272 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
1273 , catch_expr> gen_type;
1274 typedef typename gen_type::type type;
1275 static type
1276 make(
1277 TryCatch const& try_catch
1278 , Expr const& catch_
1279 )
1280 {
1281 return
1282 gen_type::make(
1283 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
1284 , proto::make_expr<
1285 phoenix::tag::catch_
1286 , proto::basic_default_domain
1287 >(catch_exception<Exception>(), catch_)
1288 );
1289 }
1290 };
1291 template <typename TryCatch, typename Expr>
1292 struct catch_all_push_back<TryCatch, Expr, 14>
1293 {
1294 typedef
1295 typename proto::result_of::make_expr<
1296 phoenix::tag::catch_all
1297 , proto::basic_default_domain
1298 , Expr
1299 >::type
1300 catch_expr;
1301 typedef phoenix::expression::try_catch<
1302 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
1303 , catch_expr> gen_type;
1304 typedef typename gen_type::type type;
1305 static type
1306 make(
1307 TryCatch const& try_catch
1308 , Expr const& catch_
1309 )
1310 {
1311 return
1312 gen_type::make(
1313 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
1314 , proto::make_expr<
1315 phoenix::tag::catch_all
1316 , proto::basic_default_domain
1317 >(catch_)
1318 );
1319 }
1320 };
1321
1322
1323
1324
1325
1326
1327
1328 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1329 struct catch_push_back<TryCatch, Exception, Capture, Expr, 15>
1330 {
1331 typedef
1332 typename proto::result_of::make_expr<
1333 phoenix::tag::catch_
1334 , proto::basic_default_domain
1335 , catch_exception<Exception>
1336 , Capture
1337 , Expr
1338 >::type
1339 catch_expr;
1340 typedef phoenix::expression::try_catch<
1341 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
1342 , catch_expr> gen_type;
1343 typedef typename gen_type::type type;
1344 static type
1345 make(
1346 TryCatch const& try_catch
1347 , Capture const& capture
1348 , Expr const& catch_
1349 )
1350 {
1351 return
1352 gen_type::make(
1353 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
1354 , proto::make_expr<
1355 phoenix::tag::catch_
1356 , proto::basic_default_domain
1357 >(catch_exception<Exception>(), capture, catch_)
1358 );
1359 }
1360 };
1361 template <typename TryCatch, typename Exception, typename Expr>
1362 struct catch_push_back<TryCatch, Exception, void, Expr, 15>
1363 {
1364 typedef
1365 typename proto::result_of::make_expr<
1366 phoenix::tag::catch_
1367 , proto::basic_default_domain
1368 , catch_exception<Exception>
1369 , Expr
1370 >::type
1371 catch_expr;
1372 typedef phoenix::expression::try_catch<
1373 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
1374 , catch_expr> gen_type;
1375 typedef typename gen_type::type type;
1376 static type
1377 make(
1378 TryCatch const& try_catch
1379 , Expr const& catch_
1380 )
1381 {
1382 return
1383 gen_type::make(
1384 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
1385 , proto::make_expr<
1386 phoenix::tag::catch_
1387 , proto::basic_default_domain
1388 >(catch_exception<Exception>(), catch_)
1389 );
1390 }
1391 };
1392 template <typename TryCatch, typename Expr>
1393 struct catch_all_push_back<TryCatch, Expr, 15>
1394 {
1395 typedef
1396 typename proto::result_of::make_expr<
1397 phoenix::tag::catch_all
1398 , proto::basic_default_domain
1399 , Expr
1400 >::type
1401 catch_expr;
1402 typedef phoenix::expression::try_catch<
1403 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
1404 , catch_expr> gen_type;
1405 typedef typename gen_type::type type;
1406 static type
1407 make(
1408 TryCatch const& try_catch
1409 , Expr const& catch_
1410 )
1411 {
1412 return
1413 gen_type::make(
1414 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
1415 , proto::make_expr<
1416 phoenix::tag::catch_all
1417 , proto::basic_default_domain
1418 >(catch_)
1419 );
1420 }
1421 };
1422
1423
1424
1425
1426
1427
1428
1429 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1430 struct catch_push_back<TryCatch, Exception, Capture, Expr, 16>
1431 {
1432 typedef
1433 typename proto::result_of::make_expr<
1434 phoenix::tag::catch_
1435 , proto::basic_default_domain
1436 , catch_exception<Exception>
1437 , Capture
1438 , Expr
1439 >::type
1440 catch_expr;
1441 typedef phoenix::expression::try_catch<
1442 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
1443 , catch_expr> gen_type;
1444 typedef typename gen_type::type type;
1445 static type
1446 make(
1447 TryCatch const& try_catch
1448 , Capture const& capture
1449 , Expr const& catch_
1450 )
1451 {
1452 return
1453 gen_type::make(
1454 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
1455 , proto::make_expr<
1456 phoenix::tag::catch_
1457 , proto::basic_default_domain
1458 >(catch_exception<Exception>(), capture, catch_)
1459 );
1460 }
1461 };
1462 template <typename TryCatch, typename Exception, typename Expr>
1463 struct catch_push_back<TryCatch, Exception, void, Expr, 16>
1464 {
1465 typedef
1466 typename proto::result_of::make_expr<
1467 phoenix::tag::catch_
1468 , proto::basic_default_domain
1469 , catch_exception<Exception>
1470 , Expr
1471 >::type
1472 catch_expr;
1473 typedef phoenix::expression::try_catch<
1474 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
1475 , catch_expr> gen_type;
1476 typedef typename gen_type::type type;
1477 static type
1478 make(
1479 TryCatch const& try_catch
1480 , Expr const& catch_
1481 )
1482 {
1483 return
1484 gen_type::make(
1485 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
1486 , proto::make_expr<
1487 phoenix::tag::catch_
1488 , proto::basic_default_domain
1489 >(catch_exception<Exception>(), catch_)
1490 );
1491 }
1492 };
1493 template <typename TryCatch, typename Expr>
1494 struct catch_all_push_back<TryCatch, Expr, 16>
1495 {
1496 typedef
1497 typename proto::result_of::make_expr<
1498 phoenix::tag::catch_all
1499 , proto::basic_default_domain
1500 , Expr
1501 >::type
1502 catch_expr;
1503 typedef phoenix::expression::try_catch<
1504 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
1505 , catch_expr> gen_type;
1506 typedef typename gen_type::type type;
1507 static type
1508 make(
1509 TryCatch const& try_catch
1510 , Expr const& catch_
1511 )
1512 {
1513 return
1514 gen_type::make(
1515 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
1516 , proto::make_expr<
1517 phoenix::tag::catch_all
1518 , proto::basic_default_domain
1519 >(catch_)
1520 );
1521 }
1522 };
1523
1524
1525
1526
1527
1528
1529
1530 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1531 struct catch_push_back<TryCatch, Exception, Capture, Expr, 17>
1532 {
1533 typedef
1534 typename proto::result_of::make_expr<
1535 phoenix::tag::catch_
1536 , proto::basic_default_domain
1537 , catch_exception<Exception>
1538 , Capture
1539 , Expr
1540 >::type
1541 catch_expr;
1542 typedef phoenix::expression::try_catch<
1543 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
1544 , catch_expr> gen_type;
1545 typedef typename gen_type::type type;
1546 static type
1547 make(
1548 TryCatch const& try_catch
1549 , Capture const& capture
1550 , Expr const& catch_
1551 )
1552 {
1553 return
1554 gen_type::make(
1555 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
1556 , proto::make_expr<
1557 phoenix::tag::catch_
1558 , proto::basic_default_domain
1559 >(catch_exception<Exception>(), capture, catch_)
1560 );
1561 }
1562 };
1563 template <typename TryCatch, typename Exception, typename Expr>
1564 struct catch_push_back<TryCatch, Exception, void, Expr, 17>
1565 {
1566 typedef
1567 typename proto::result_of::make_expr<
1568 phoenix::tag::catch_
1569 , proto::basic_default_domain
1570 , catch_exception<Exception>
1571 , Expr
1572 >::type
1573 catch_expr;
1574 typedef phoenix::expression::try_catch<
1575 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
1576 , catch_expr> gen_type;
1577 typedef typename gen_type::type type;
1578 static type
1579 make(
1580 TryCatch const& try_catch
1581 , Expr const& catch_
1582 )
1583 {
1584 return
1585 gen_type::make(
1586 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
1587 , proto::make_expr<
1588 phoenix::tag::catch_
1589 , proto::basic_default_domain
1590 >(catch_exception<Exception>(), catch_)
1591 );
1592 }
1593 };
1594 template <typename TryCatch, typename Expr>
1595 struct catch_all_push_back<TryCatch, Expr, 17>
1596 {
1597 typedef
1598 typename proto::result_of::make_expr<
1599 phoenix::tag::catch_all
1600 , proto::basic_default_domain
1601 , Expr
1602 >::type
1603 catch_expr;
1604 typedef phoenix::expression::try_catch<
1605 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
1606 , catch_expr> gen_type;
1607 typedef typename gen_type::type type;
1608 static type
1609 make(
1610 TryCatch const& try_catch
1611 , Expr const& catch_
1612 )
1613 {
1614 return
1615 gen_type::make(
1616 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
1617 , proto::make_expr<
1618 phoenix::tag::catch_all
1619 , proto::basic_default_domain
1620 >(catch_)
1621 );
1622 }
1623 };
1624
1625
1626
1627
1628
1629
1630
1631 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1632 struct catch_push_back<TryCatch, Exception, Capture, Expr, 18>
1633 {
1634 typedef
1635 typename proto::result_of::make_expr<
1636 phoenix::tag::catch_
1637 , proto::basic_default_domain
1638 , catch_exception<Exception>
1639 , Capture
1640 , Expr
1641 >::type
1642 catch_expr;
1643 typedef phoenix::expression::try_catch<
1644 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
1645 , catch_expr> gen_type;
1646 typedef typename gen_type::type type;
1647 static type
1648 make(
1649 TryCatch const& try_catch
1650 , Capture const& capture
1651 , Expr const& catch_
1652 )
1653 {
1654 return
1655 gen_type::make(
1656 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
1657 , proto::make_expr<
1658 phoenix::tag::catch_
1659 , proto::basic_default_domain
1660 >(catch_exception<Exception>(), capture, catch_)
1661 );
1662 }
1663 };
1664 template <typename TryCatch, typename Exception, typename Expr>
1665 struct catch_push_back<TryCatch, Exception, void, Expr, 18>
1666 {
1667 typedef
1668 typename proto::result_of::make_expr<
1669 phoenix::tag::catch_
1670 , proto::basic_default_domain
1671 , catch_exception<Exception>
1672 , Expr
1673 >::type
1674 catch_expr;
1675 typedef phoenix::expression::try_catch<
1676 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
1677 , catch_expr> gen_type;
1678 typedef typename gen_type::type type;
1679 static type
1680 make(
1681 TryCatch const& try_catch
1682 , Expr const& catch_
1683 )
1684 {
1685 return
1686 gen_type::make(
1687 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
1688 , proto::make_expr<
1689 phoenix::tag::catch_
1690 , proto::basic_default_domain
1691 >(catch_exception<Exception>(), catch_)
1692 );
1693 }
1694 };
1695 template <typename TryCatch, typename Expr>
1696 struct catch_all_push_back<TryCatch, Expr, 18>
1697 {
1698 typedef
1699 typename proto::result_of::make_expr<
1700 phoenix::tag::catch_all
1701 , proto::basic_default_domain
1702 , Expr
1703 >::type
1704 catch_expr;
1705 typedef phoenix::expression::try_catch<
1706 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
1707 , catch_expr> gen_type;
1708 typedef typename gen_type::type type;
1709 static type
1710 make(
1711 TryCatch const& try_catch
1712 , Expr const& catch_
1713 )
1714 {
1715 return
1716 gen_type::make(
1717 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
1718 , proto::make_expr<
1719 phoenix::tag::catch_all
1720 , proto::basic_default_domain
1721 >(catch_)
1722 );
1723 }
1724 };
1725
1726
1727
1728
1729
1730
1731
1732 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1733 struct catch_push_back<TryCatch, Exception, Capture, Expr, 19>
1734 {
1735 typedef
1736 typename proto::result_of::make_expr<
1737 phoenix::tag::catch_
1738 , proto::basic_default_domain
1739 , catch_exception<Exception>
1740 , Capture
1741 , Expr
1742 >::type
1743 catch_expr;
1744 typedef phoenix::expression::try_catch<
1745 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
1746 , catch_expr> gen_type;
1747 typedef typename gen_type::type type;
1748 static type
1749 make(
1750 TryCatch const& try_catch
1751 , Capture const& capture
1752 , Expr const& catch_
1753 )
1754 {
1755 return
1756 gen_type::make(
1757 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
1758 , proto::make_expr<
1759 phoenix::tag::catch_
1760 , proto::basic_default_domain
1761 >(catch_exception<Exception>(), capture, catch_)
1762 );
1763 }
1764 };
1765 template <typename TryCatch, typename Exception, typename Expr>
1766 struct catch_push_back<TryCatch, Exception, void, Expr, 19>
1767 {
1768 typedef
1769 typename proto::result_of::make_expr<
1770 phoenix::tag::catch_
1771 , proto::basic_default_domain
1772 , catch_exception<Exception>
1773 , Expr
1774 >::type
1775 catch_expr;
1776 typedef phoenix::expression::try_catch<
1777 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
1778 , catch_expr> gen_type;
1779 typedef typename gen_type::type type;
1780 static type
1781 make(
1782 TryCatch const& try_catch
1783 , Expr const& catch_
1784 )
1785 {
1786 return
1787 gen_type::make(
1788 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
1789 , proto::make_expr<
1790 phoenix::tag::catch_
1791 , proto::basic_default_domain
1792 >(catch_exception<Exception>(), catch_)
1793 );
1794 }
1795 };
1796 template <typename TryCatch, typename Expr>
1797 struct catch_all_push_back<TryCatch, Expr, 19>
1798 {
1799 typedef
1800 typename proto::result_of::make_expr<
1801 phoenix::tag::catch_all
1802 , proto::basic_default_domain
1803 , Expr
1804 >::type
1805 catch_expr;
1806 typedef phoenix::expression::try_catch<
1807 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
1808 , catch_expr> gen_type;
1809 typedef typename gen_type::type type;
1810 static type
1811 make(
1812 TryCatch const& try_catch
1813 , Expr const& catch_
1814 )
1815 {
1816 return
1817 gen_type::make(
1818 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
1819 , proto::make_expr<
1820 phoenix::tag::catch_all
1821 , proto::basic_default_domain
1822 >(catch_)
1823 );
1824 }
1825 };
1826
1827
1828
1829
1830
1831
1832
1833 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1834 struct catch_push_back<TryCatch, Exception, Capture, Expr, 20>
1835 {
1836 typedef
1837 typename proto::result_of::make_expr<
1838 phoenix::tag::catch_
1839 , proto::basic_default_domain
1840 , catch_exception<Exception>
1841 , Capture
1842 , Expr
1843 >::type
1844 catch_expr;
1845 typedef phoenix::expression::try_catch<
1846 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
1847 , catch_expr> gen_type;
1848 typedef typename gen_type::type type;
1849 static type
1850 make(
1851 TryCatch const& try_catch
1852 , Capture const& capture
1853 , Expr const& catch_
1854 )
1855 {
1856 return
1857 gen_type::make(
1858 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
1859 , proto::make_expr<
1860 phoenix::tag::catch_
1861 , proto::basic_default_domain
1862 >(catch_exception<Exception>(), capture, catch_)
1863 );
1864 }
1865 };
1866 template <typename TryCatch, typename Exception, typename Expr>
1867 struct catch_push_back<TryCatch, Exception, void, Expr, 20>
1868 {
1869 typedef
1870 typename proto::result_of::make_expr<
1871 phoenix::tag::catch_
1872 , proto::basic_default_domain
1873 , catch_exception<Exception>
1874 , Expr
1875 >::type
1876 catch_expr;
1877 typedef phoenix::expression::try_catch<
1878 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
1879 , catch_expr> gen_type;
1880 typedef typename gen_type::type type;
1881 static type
1882 make(
1883 TryCatch const& try_catch
1884 , Expr const& catch_
1885 )
1886 {
1887 return
1888 gen_type::make(
1889 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
1890 , proto::make_expr<
1891 phoenix::tag::catch_
1892 , proto::basic_default_domain
1893 >(catch_exception<Exception>(), catch_)
1894 );
1895 }
1896 };
1897 template <typename TryCatch, typename Expr>
1898 struct catch_all_push_back<TryCatch, Expr, 20>
1899 {
1900 typedef
1901 typename proto::result_of::make_expr<
1902 phoenix::tag::catch_all
1903 , proto::basic_default_domain
1904 , Expr
1905 >::type
1906 catch_expr;
1907 typedef phoenix::expression::try_catch<
1908 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
1909 , catch_expr> gen_type;
1910 typedef typename gen_type::type type;
1911 static type
1912 make(
1913 TryCatch const& try_catch
1914 , Expr const& catch_
1915 )
1916 {
1917 return
1918 gen_type::make(
1919 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
1920 , proto::make_expr<
1921 phoenix::tag::catch_all
1922 , proto::basic_default_domain
1923 >(catch_)
1924 );
1925 }
1926 };
1927