]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/phoenix/include/boost/phoenix/statement/detail/preprocessed/catch_push_back_10.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / phoenix / include / boost / phoenix / statement / detail / preprocessed / catch_push_back_10.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