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 Expr>
16         struct catch_push_back<TryCatch, Exception, 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                   , Expr
24                 >::type
25                 catch_expr;
26             typedef phoenix::expression::try_catch<
27                 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
28               , catch_expr> gen_type;
29             typedef typename gen_type::type type;
30             static type
makecatch_push_back31             make(
32                 TryCatch const& try_catch
33               , Expr const& catch_
34             )
35             {
36                 return
37                     gen_type::make(
38                         proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
39                       , proto::make_expr<
40                             phoenix::tag::catch_
41                           , proto::basic_default_domain
42                         >(catch_exception<Exception>(), catch_)
43                     );
44             }
45         };
46 
47         template <typename TryCatch, typename Expr>
48         struct catch_all_push_back<TryCatch, Expr, 2>
49         {
50             typedef
51                 typename proto::result_of::make_expr<
52                     phoenix::tag::catch_all
53                   , proto::basic_default_domain
54                   , Expr
55                 >::type
56                 catch_expr;
57             typedef phoenix::expression::try_catch<
58                 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
59               , catch_expr> gen_type;
60             typedef typename gen_type::type type;
61             static type
makecatch_all_push_back62             make(
63                 TryCatch const& try_catch
64               , Expr const& catch_
65             )
66             {
67                 return
68                     gen_type::make(
69                         proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
70                       , proto::make_expr<
71                             phoenix::tag::catch_all
72                           , proto::basic_default_domain
73                         >(catch_)
74                     );
75             }
76         };
77 
78 
79 
80 
81 
82 
83 
84         template <typename TryCatch, typename Exception, typename Expr>
85         struct catch_push_back<TryCatch, Exception, Expr, 3>
86         {
87             typedef
88                 typename proto::result_of::make_expr<
89                     phoenix::tag::catch_
90                   , proto::basic_default_domain
91                   , catch_exception<Exception>
92                   , Expr
93                 >::type
94                 catch_expr;
95             typedef phoenix::expression::try_catch<
96                 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
97               , catch_expr> gen_type;
98             typedef typename gen_type::type type;
99             static type
makecatch_push_back100             make(
101                 TryCatch const& try_catch
102               , Expr const& catch_
103             )
104             {
105                 return
106                     gen_type::make(
107                         proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
108                       , proto::make_expr<
109                             phoenix::tag::catch_
110                           , proto::basic_default_domain
111                         >(catch_exception<Exception>(), catch_)
112                     );
113             }
114         };
115 
116         template <typename TryCatch, typename Expr>
117         struct catch_all_push_back<TryCatch, Expr, 3>
118         {
119             typedef
120                 typename proto::result_of::make_expr<
121                     phoenix::tag::catch_all
122                   , proto::basic_default_domain
123                   , Expr
124                 >::type
125                 catch_expr;
126             typedef phoenix::expression::try_catch<
127                 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
128               , catch_expr> gen_type;
129             typedef typename gen_type::type type;
130             static type
makecatch_all_push_back131             make(
132                 TryCatch const& try_catch
133               , Expr const& catch_
134             )
135             {
136                 return
137                     gen_type::make(
138                         proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
139                       , proto::make_expr<
140                             phoenix::tag::catch_all
141                           , proto::basic_default_domain
142                         >(catch_)
143                     );
144             }
145         };
146 
147 
148 
149 
150 
151 
152 
153         template <typename TryCatch, typename Exception, typename Expr>
154         struct catch_push_back<TryCatch, Exception, Expr, 4>
155         {
156             typedef
157                 typename proto::result_of::make_expr<
158                     phoenix::tag::catch_
159                   , proto::basic_default_domain
160                   , catch_exception<Exception>
161                   , Expr
162                 >::type
163                 catch_expr;
164             typedef phoenix::expression::try_catch<
165                 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
166               , catch_expr> gen_type;
167             typedef typename gen_type::type type;
168             static type
makecatch_push_back169             make(
170                 TryCatch const& try_catch
171               , Expr const& catch_
172             )
173             {
174                 return
175                     gen_type::make(
176                         proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
177                       , proto::make_expr<
178                             phoenix::tag::catch_
179                           , proto::basic_default_domain
180                         >(catch_exception<Exception>(), catch_)
181                     );
182             }
183         };
184 
185         template <typename TryCatch, typename Expr>
186         struct catch_all_push_back<TryCatch, Expr, 4>
187         {
188             typedef
189                 typename proto::result_of::make_expr<
190                     phoenix::tag::catch_all
191                   , proto::basic_default_domain
192                   , Expr
193                 >::type
194                 catch_expr;
195             typedef phoenix::expression::try_catch<
196                 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
197               , catch_expr> gen_type;
198             typedef typename gen_type::type type;
199             static type
makecatch_all_push_back200             make(
201                 TryCatch const& try_catch
202               , Expr const& catch_
203             )
204             {
205                 return
206                     gen_type::make(
207                         proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
208                       , proto::make_expr<
209                             phoenix::tag::catch_all
210                           , proto::basic_default_domain
211                         >(catch_)
212                     );
213             }
214         };
215 
216 
217 
218 
219 
220 
221 
222         template <typename TryCatch, typename Exception, typename Expr>
223         struct catch_push_back<TryCatch, Exception, Expr, 5>
224         {
225             typedef
226                 typename proto::result_of::make_expr<
227                     phoenix::tag::catch_
228                   , proto::basic_default_domain
229                   , catch_exception<Exception>
230                   , Expr
231                 >::type
232                 catch_expr;
233             typedef phoenix::expression::try_catch<
234                 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
235               , catch_expr> gen_type;
236             typedef typename gen_type::type type;
237             static type
makecatch_push_back238             make(
239                 TryCatch const& try_catch
240               , Expr const& catch_
241             )
242             {
243                 return
244                     gen_type::make(
245                         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)
246                       , proto::make_expr<
247                             phoenix::tag::catch_
248                           , proto::basic_default_domain
249                         >(catch_exception<Exception>(), catch_)
250                     );
251             }
252         };
253 
254         template <typename TryCatch, typename Expr>
255         struct catch_all_push_back<TryCatch, Expr, 5>
256         {
257             typedef
258                 typename proto::result_of::make_expr<
259                     phoenix::tag::catch_all
260                   , proto::basic_default_domain
261                   , Expr
262                 >::type
263                 catch_expr;
264             typedef phoenix::expression::try_catch<
265                 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
266               , catch_expr> gen_type;
267             typedef typename gen_type::type type;
268             static type
makecatch_all_push_back269             make(
270                 TryCatch const& try_catch
271               , Expr const& catch_
272             )
273             {
274                 return
275                     gen_type::make(
276                         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)
277                       , proto::make_expr<
278                             phoenix::tag::catch_all
279                           , proto::basic_default_domain
280                         >(catch_)
281                     );
282             }
283         };
284 
285 
286 
287 
288 
289 
290 
291         template <typename TryCatch, typename Exception, typename Expr>
292         struct catch_push_back<TryCatch, Exception, Expr, 6>
293         {
294             typedef
295                 typename proto::result_of::make_expr<
296                     phoenix::tag::catch_
297                   , proto::basic_default_domain
298                   , catch_exception<Exception>
299                   , Expr
300                 >::type
301                 catch_expr;
302             typedef phoenix::expression::try_catch<
303                 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
304               , catch_expr> gen_type;
305             typedef typename gen_type::type type;
306             static type
makecatch_push_back307             make(
308                 TryCatch const& try_catch
309               , Expr const& catch_
310             )
311             {
312                 return
313                     gen_type::make(
314                         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)
315                       , proto::make_expr<
316                             phoenix::tag::catch_
317                           , proto::basic_default_domain
318                         >(catch_exception<Exception>(), catch_)
319                     );
320             }
321         };
322 
323         template <typename TryCatch, typename Expr>
324         struct catch_all_push_back<TryCatch, Expr, 6>
325         {
326             typedef
327                 typename proto::result_of::make_expr<
328                     phoenix::tag::catch_all
329                   , proto::basic_default_domain
330                   , Expr
331                 >::type
332                 catch_expr;
333             typedef phoenix::expression::try_catch<
334                 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
335               , catch_expr> gen_type;
336             typedef typename gen_type::type type;
337             static type
makecatch_all_push_back338             make(
339                 TryCatch const& try_catch
340               , Expr const& catch_
341             )
342             {
343                 return
344                     gen_type::make(
345                         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)
346                       , proto::make_expr<
347                             phoenix::tag::catch_all
348                           , proto::basic_default_domain
349                         >(catch_)
350                     );
351             }
352         };
353 
354 
355 
356 
357 
358 
359 
360         template <typename TryCatch, typename Exception, typename Expr>
361         struct catch_push_back<TryCatch, Exception, Expr, 7>
362         {
363             typedef
364                 typename proto::result_of::make_expr<
365                     phoenix::tag::catch_
366                   , proto::basic_default_domain
367                   , catch_exception<Exception>
368                   , Expr
369                 >::type
370                 catch_expr;
371             typedef phoenix::expression::try_catch<
372                 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
373               , catch_expr> gen_type;
374             typedef typename gen_type::type type;
375             static type
makecatch_push_back376             make(
377                 TryCatch const& try_catch
378               , Expr const& catch_
379             )
380             {
381                 return
382                     gen_type::make(
383                         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)
384                       , proto::make_expr<
385                             phoenix::tag::catch_
386                           , proto::basic_default_domain
387                         >(catch_exception<Exception>(), catch_)
388                     );
389             }
390         };
391 
392         template <typename TryCatch, typename Expr>
393         struct catch_all_push_back<TryCatch, Expr, 7>
394         {
395             typedef
396                 typename proto::result_of::make_expr<
397                     phoenix::tag::catch_all
398                   , proto::basic_default_domain
399                   , Expr
400                 >::type
401                 catch_expr;
402             typedef phoenix::expression::try_catch<
403                 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
404               , catch_expr> gen_type;
405             typedef typename gen_type::type type;
406             static type
makecatch_all_push_back407             make(
408                 TryCatch const& try_catch
409               , Expr const& catch_
410             )
411             {
412                 return
413                     gen_type::make(
414                         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)
415                       , proto::make_expr<
416                             phoenix::tag::catch_all
417                           , proto::basic_default_domain
418                         >(catch_)
419                     );
420             }
421         };
422 
423 
424 
425 
426 
427 
428 
429         template <typename TryCatch, typename Exception, typename Expr>
430         struct catch_push_back<TryCatch, Exception, Expr, 8>
431         {
432             typedef
433                 typename proto::result_of::make_expr<
434                     phoenix::tag::catch_
435                   , proto::basic_default_domain
436                   , catch_exception<Exception>
437                   , Expr
438                 >::type
439                 catch_expr;
440             typedef phoenix::expression::try_catch<
441                 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
442               , catch_expr> gen_type;
443             typedef typename gen_type::type type;
444             static type
makecatch_push_back445             make(
446                 TryCatch const& try_catch
447               , Expr const& catch_
448             )
449             {
450                 return
451                     gen_type::make(
452                         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)
453                       , proto::make_expr<
454                             phoenix::tag::catch_
455                           , proto::basic_default_domain
456                         >(catch_exception<Exception>(), catch_)
457                     );
458             }
459         };
460 
461         template <typename TryCatch, typename Expr>
462         struct catch_all_push_back<TryCatch, Expr, 8>
463         {
464             typedef
465                 typename proto::result_of::make_expr<
466                     phoenix::tag::catch_all
467                   , proto::basic_default_domain
468                   , Expr
469                 >::type
470                 catch_expr;
471             typedef phoenix::expression::try_catch<
472                 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
473               , catch_expr> gen_type;
474             typedef typename gen_type::type type;
475             static type
makecatch_all_push_back476             make(
477                 TryCatch const& try_catch
478               , Expr const& catch_
479             )
480             {
481                 return
482                     gen_type::make(
483                         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)
484                       , proto::make_expr<
485                             phoenix::tag::catch_all
486                           , proto::basic_default_domain
487                         >(catch_)
488                     );
489             }
490         };
491 
492 
493 
494 
495 
496 
497 
498         template <typename TryCatch, typename Exception, typename Expr>
499         struct catch_push_back<TryCatch, Exception, Expr, 9>
500         {
501             typedef
502                 typename proto::result_of::make_expr<
503                     phoenix::tag::catch_
504                   , proto::basic_default_domain
505                   , catch_exception<Exception>
506                   , Expr
507                 >::type
508                 catch_expr;
509             typedef phoenix::expression::try_catch<
510                 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
511               , catch_expr> gen_type;
512             typedef typename gen_type::type type;
513             static type
makecatch_push_back514             make(
515                 TryCatch const& try_catch
516               , Expr const& catch_
517             )
518             {
519                 return
520                     gen_type::make(
521                         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)
522                       , proto::make_expr<
523                             phoenix::tag::catch_
524                           , proto::basic_default_domain
525                         >(catch_exception<Exception>(), catch_)
526                     );
527             }
528         };
529 
530         template <typename TryCatch, typename Expr>
531         struct catch_all_push_back<TryCatch, Expr, 9>
532         {
533             typedef
534                 typename proto::result_of::make_expr<
535                     phoenix::tag::catch_all
536                   , proto::basic_default_domain
537                   , Expr
538                 >::type
539                 catch_expr;
540             typedef phoenix::expression::try_catch<
541                 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
542               , catch_expr> gen_type;
543             typedef typename gen_type::type type;
544             static type
makecatch_all_push_back545             make(
546                 TryCatch const& try_catch
547               , Expr const& catch_
548             )
549             {
550                 return
551                     gen_type::make(
552                         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)
553                       , proto::make_expr<
554                             phoenix::tag::catch_all
555                           , proto::basic_default_domain
556                         >(catch_)
557                     );
558             }
559         };
560 
561 
562 
563 
564 
565 
566 
567         template <typename TryCatch, typename Exception, typename Expr>
568         struct catch_push_back<TryCatch, Exception, Expr, 10>
569         {
570             typedef
571                 typename proto::result_of::make_expr<
572                     phoenix::tag::catch_
573                   , proto::basic_default_domain
574                   , catch_exception<Exception>
575                   , Expr
576                 >::type
577                 catch_expr;
578             typedef phoenix::expression::try_catch<
579                 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
580               , catch_expr> gen_type;
581             typedef typename gen_type::type type;
582             static type
makecatch_push_back583             make(
584                 TryCatch const& try_catch
585               , Expr const& catch_
586             )
587             {
588                 return
589                     gen_type::make(
590                         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)
591                       , proto::make_expr<
592                             phoenix::tag::catch_
593                           , proto::basic_default_domain
594                         >(catch_exception<Exception>(), catch_)
595                     );
596             }
597         };
598 
599         template <typename TryCatch, typename Expr>
600         struct catch_all_push_back<TryCatch, Expr, 10>
601         {
602             typedef
603                 typename proto::result_of::make_expr<
604                     phoenix::tag::catch_all
605                   , proto::basic_default_domain
606                   , Expr
607                 >::type
608                 catch_expr;
609             typedef phoenix::expression::try_catch<
610                 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
611               , catch_expr> gen_type;
612             typedef typename gen_type::type type;
613             static type
makecatch_all_push_back614             make(
615                 TryCatch const& try_catch
616               , Expr const& catch_
617             )
618             {
619                 return
620                     gen_type::make(
621                         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)
622                       , proto::make_expr<
623                             phoenix::tag::catch_all
624                           , proto::basic_default_domain
625                         >(catch_)
626                     );
627             }
628         };
629 
630 
631 
632 
633 
634 
635 
636         template <typename TryCatch, typename Exception, typename Expr>
637         struct catch_push_back<TryCatch, Exception, Expr, 11>
638         {
639             typedef
640                 typename proto::result_of::make_expr<
641                     phoenix::tag::catch_
642                   , proto::basic_default_domain
643                   , catch_exception<Exception>
644                   , Expr
645                 >::type
646                 catch_expr;
647             typedef phoenix::expression::try_catch<
648                 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
649               , catch_expr> gen_type;
650             typedef typename gen_type::type type;
651             static type
makecatch_push_back652             make(
653                 TryCatch const& try_catch
654               , Expr const& catch_
655             )
656             {
657                 return
658                     gen_type::make(
659                         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)
660                       , proto::make_expr<
661                             phoenix::tag::catch_
662                           , proto::basic_default_domain
663                         >(catch_exception<Exception>(), catch_)
664                     );
665             }
666         };
667 
668         template <typename TryCatch, typename Expr>
669         struct catch_all_push_back<TryCatch, Expr, 11>
670         {
671             typedef
672                 typename proto::result_of::make_expr<
673                     phoenix::tag::catch_all
674                   , proto::basic_default_domain
675                   , Expr
676                 >::type
677                 catch_expr;
678             typedef phoenix::expression::try_catch<
679                 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
680               , catch_expr> gen_type;
681             typedef typename gen_type::type type;
682             static type
makecatch_all_push_back683             make(
684                 TryCatch const& try_catch
685               , Expr const& catch_
686             )
687             {
688                 return
689                     gen_type::make(
690                         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)
691                       , proto::make_expr<
692                             phoenix::tag::catch_all
693                           , proto::basic_default_domain
694                         >(catch_)
695                     );
696             }
697         };
698 
699 
700 
701 
702 
703 
704 
705         template <typename TryCatch, typename Exception, typename Expr>
706         struct catch_push_back<TryCatch, Exception, Expr, 12>
707         {
708             typedef
709                 typename proto::result_of::make_expr<
710                     phoenix::tag::catch_
711                   , proto::basic_default_domain
712                   , catch_exception<Exception>
713                   , Expr
714                 >::type
715                 catch_expr;
716             typedef phoenix::expression::try_catch<
717                 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
718               , catch_expr> gen_type;
719             typedef typename gen_type::type type;
720             static type
makecatch_push_back721             make(
722                 TryCatch const& try_catch
723               , Expr const& catch_
724             )
725             {
726                 return
727                     gen_type::make(
728                         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)
729                       , proto::make_expr<
730                             phoenix::tag::catch_
731                           , proto::basic_default_domain
732                         >(catch_exception<Exception>(), catch_)
733                     );
734             }
735         };
736 
737         template <typename TryCatch, typename Expr>
738         struct catch_all_push_back<TryCatch, Expr, 12>
739         {
740             typedef
741                 typename proto::result_of::make_expr<
742                     phoenix::tag::catch_all
743                   , proto::basic_default_domain
744                   , Expr
745                 >::type
746                 catch_expr;
747             typedef phoenix::expression::try_catch<
748                 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
749               , catch_expr> gen_type;
750             typedef typename gen_type::type type;
751             static type
makecatch_all_push_back752             make(
753                 TryCatch const& try_catch
754               , Expr const& catch_
755             )
756             {
757                 return
758                     gen_type::make(
759                         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)
760                       , proto::make_expr<
761                             phoenix::tag::catch_all
762                           , proto::basic_default_domain
763                         >(catch_)
764                     );
765             }
766         };
767 
768 
769 
770 
771 
772 
773 
774         template <typename TryCatch, typename Exception, typename Expr>
775         struct catch_push_back<TryCatch, Exception, Expr, 13>
776         {
777             typedef
778                 typename proto::result_of::make_expr<
779                     phoenix::tag::catch_
780                   , proto::basic_default_domain
781                   , catch_exception<Exception>
782                   , Expr
783                 >::type
784                 catch_expr;
785             typedef phoenix::expression::try_catch<
786                 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
787               , catch_expr> gen_type;
788             typedef typename gen_type::type type;
789             static type
makecatch_push_back790             make(
791                 TryCatch const& try_catch
792               , Expr const& catch_
793             )
794             {
795                 return
796                     gen_type::make(
797                         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)
798                       , proto::make_expr<
799                             phoenix::tag::catch_
800                           , proto::basic_default_domain
801                         >(catch_exception<Exception>(), catch_)
802                     );
803             }
804         };
805 
806         template <typename TryCatch, typename Expr>
807         struct catch_all_push_back<TryCatch, Expr, 13>
808         {
809             typedef
810                 typename proto::result_of::make_expr<
811                     phoenix::tag::catch_all
812                   , proto::basic_default_domain
813                   , Expr
814                 >::type
815                 catch_expr;
816             typedef phoenix::expression::try_catch<
817                 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
818               , catch_expr> gen_type;
819             typedef typename gen_type::type type;
820             static type
makecatch_all_push_back821             make(
822                 TryCatch const& try_catch
823               , Expr const& catch_
824             )
825             {
826                 return
827                     gen_type::make(
828                         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)
829                       , proto::make_expr<
830                             phoenix::tag::catch_all
831                           , proto::basic_default_domain
832                         >(catch_)
833                     );
834             }
835         };
836 
837 
838 
839 
840 
841 
842 
843         template <typename TryCatch, typename Exception, typename Expr>
844         struct catch_push_back<TryCatch, Exception, Expr, 14>
845         {
846             typedef
847                 typename proto::result_of::make_expr<
848                     phoenix::tag::catch_
849                   , proto::basic_default_domain
850                   , catch_exception<Exception>
851                   , Expr
852                 >::type
853                 catch_expr;
854             typedef phoenix::expression::try_catch<
855                 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
856               , catch_expr> gen_type;
857             typedef typename gen_type::type type;
858             static type
makecatch_push_back859             make(
860                 TryCatch const& try_catch
861               , Expr const& catch_
862             )
863             {
864                 return
865                     gen_type::make(
866                         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)
867                       , proto::make_expr<
868                             phoenix::tag::catch_
869                           , proto::basic_default_domain
870                         >(catch_exception<Exception>(), catch_)
871                     );
872             }
873         };
874 
875         template <typename TryCatch, typename Expr>
876         struct catch_all_push_back<TryCatch, Expr, 14>
877         {
878             typedef
879                 typename proto::result_of::make_expr<
880                     phoenix::tag::catch_all
881                   , proto::basic_default_domain
882                   , Expr
883                 >::type
884                 catch_expr;
885             typedef phoenix::expression::try_catch<
886                 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
887               , catch_expr> gen_type;
888             typedef typename gen_type::type type;
889             static type
makecatch_all_push_back890             make(
891                 TryCatch const& try_catch
892               , Expr const& catch_
893             )
894             {
895                 return
896                     gen_type::make(
897                         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)
898                       , proto::make_expr<
899                             phoenix::tag::catch_all
900                           , proto::basic_default_domain
901                         >(catch_)
902                     );
903             }
904         };
905 
906 
907 
908 
909 
910 
911 
912         template <typename TryCatch, typename Exception, typename Expr>
913         struct catch_push_back<TryCatch, Exception, Expr, 15>
914         {
915             typedef
916                 typename proto::result_of::make_expr<
917                     phoenix::tag::catch_
918                   , proto::basic_default_domain
919                   , catch_exception<Exception>
920                   , Expr
921                 >::type
922                 catch_expr;
923             typedef phoenix::expression::try_catch<
924                 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
925               , catch_expr> gen_type;
926             typedef typename gen_type::type type;
927             static type
makecatch_push_back928             make(
929                 TryCatch const& try_catch
930               , Expr const& catch_
931             )
932             {
933                 return
934                     gen_type::make(
935                         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)
936                       , proto::make_expr<
937                             phoenix::tag::catch_
938                           , proto::basic_default_domain
939                         >(catch_exception<Exception>(), catch_)
940                     );
941             }
942         };
943 
944         template <typename TryCatch, typename Expr>
945         struct catch_all_push_back<TryCatch, Expr, 15>
946         {
947             typedef
948                 typename proto::result_of::make_expr<
949                     phoenix::tag::catch_all
950                   , proto::basic_default_domain
951                   , Expr
952                 >::type
953                 catch_expr;
954             typedef phoenix::expression::try_catch<
955                 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
956               , catch_expr> gen_type;
957             typedef typename gen_type::type type;
958             static type
makecatch_all_push_back959             make(
960                 TryCatch const& try_catch
961               , Expr const& catch_
962             )
963             {
964                 return
965                     gen_type::make(
966                         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)
967                       , proto::make_expr<
968                             phoenix::tag::catch_all
969                           , proto::basic_default_domain
970                         >(catch_)
971                     );
972             }
973         };
974 
975 
976 
977 
978 
979 
980 
981         template <typename TryCatch, typename Exception, typename Expr>
982         struct catch_push_back<TryCatch, Exception, Expr, 16>
983         {
984             typedef
985                 typename proto::result_of::make_expr<
986                     phoenix::tag::catch_
987                   , proto::basic_default_domain
988                   , catch_exception<Exception>
989                   , Expr
990                 >::type
991                 catch_expr;
992             typedef phoenix::expression::try_catch<
993                 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
994               , catch_expr> gen_type;
995             typedef typename gen_type::type type;
996             static type
makecatch_push_back997             make(
998                 TryCatch const& try_catch
999               , Expr const& catch_
1000             )
1001             {
1002                 return
1003                     gen_type::make(
1004                         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)
1005                       , proto::make_expr<
1006                             phoenix::tag::catch_
1007                           , proto::basic_default_domain
1008                         >(catch_exception<Exception>(), catch_)
1009                     );
1010             }
1011         };
1012 
1013         template <typename TryCatch, typename Expr>
1014         struct catch_all_push_back<TryCatch, Expr, 16>
1015         {
1016             typedef
1017                 typename proto::result_of::make_expr<
1018                     phoenix::tag::catch_all
1019                   , proto::basic_default_domain
1020                   , Expr
1021                 >::type
1022                 catch_expr;
1023             typedef phoenix::expression::try_catch<
1024                 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
1025               , catch_expr> gen_type;
1026             typedef typename gen_type::type type;
1027             static type
makecatch_all_push_back1028             make(
1029                 TryCatch const& try_catch
1030               , Expr const& catch_
1031             )
1032             {
1033                 return
1034                     gen_type::make(
1035                         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)
1036                       , proto::make_expr<
1037                             phoenix::tag::catch_all
1038                           , proto::basic_default_domain
1039                         >(catch_)
1040                     );
1041             }
1042         };
1043 
1044 
1045 
1046 
1047 
1048 
1049 
1050         template <typename TryCatch, typename Exception, typename Expr>
1051         struct catch_push_back<TryCatch, Exception, Expr, 17>
1052         {
1053             typedef
1054                 typename proto::result_of::make_expr<
1055                     phoenix::tag::catch_
1056                   , proto::basic_default_domain
1057                   , catch_exception<Exception>
1058                   , Expr
1059                 >::type
1060                 catch_expr;
1061             typedef phoenix::expression::try_catch<
1062                 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
1063               , catch_expr> gen_type;
1064             typedef typename gen_type::type type;
1065             static type
makecatch_push_back1066             make(
1067                 TryCatch const& try_catch
1068               , Expr const& catch_
1069             )
1070             {
1071                 return
1072                     gen_type::make(
1073                         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)
1074                       , proto::make_expr<
1075                             phoenix::tag::catch_
1076                           , proto::basic_default_domain
1077                         >(catch_exception<Exception>(), catch_)
1078                     );
1079             }
1080         };
1081 
1082         template <typename TryCatch, typename Expr>
1083         struct catch_all_push_back<TryCatch, Expr, 17>
1084         {
1085             typedef
1086                 typename proto::result_of::make_expr<
1087                     phoenix::tag::catch_all
1088                   , proto::basic_default_domain
1089                   , Expr
1090                 >::type
1091                 catch_expr;
1092             typedef phoenix::expression::try_catch<
1093                 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
1094               , catch_expr> gen_type;
1095             typedef typename gen_type::type type;
1096             static type
makecatch_all_push_back1097             make(
1098                 TryCatch const& try_catch
1099               , Expr const& catch_
1100             )
1101             {
1102                 return
1103                     gen_type::make(
1104                         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)
1105                       , proto::make_expr<
1106                             phoenix::tag::catch_all
1107                           , proto::basic_default_domain
1108                         >(catch_)
1109                     );
1110             }
1111         };
1112 
1113 
1114 
1115 
1116 
1117 
1118 
1119         template <typename TryCatch, typename Exception, typename Expr>
1120         struct catch_push_back<TryCatch, Exception, Expr, 18>
1121         {
1122             typedef
1123                 typename proto::result_of::make_expr<
1124                     phoenix::tag::catch_
1125                   , proto::basic_default_domain
1126                   , catch_exception<Exception>
1127                   , Expr
1128                 >::type
1129                 catch_expr;
1130             typedef phoenix::expression::try_catch<
1131                 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
1132               , catch_expr> gen_type;
1133             typedef typename gen_type::type type;
1134             static type
makecatch_push_back1135             make(
1136                 TryCatch const& try_catch
1137               , Expr const& catch_
1138             )
1139             {
1140                 return
1141                     gen_type::make(
1142                         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)
1143                       , proto::make_expr<
1144                             phoenix::tag::catch_
1145                           , proto::basic_default_domain
1146                         >(catch_exception<Exception>(), catch_)
1147                     );
1148             }
1149         };
1150 
1151         template <typename TryCatch, typename Expr>
1152         struct catch_all_push_back<TryCatch, Expr, 18>
1153         {
1154             typedef
1155                 typename proto::result_of::make_expr<
1156                     phoenix::tag::catch_all
1157                   , proto::basic_default_domain
1158                   , Expr
1159                 >::type
1160                 catch_expr;
1161             typedef phoenix::expression::try_catch<
1162                 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
1163               , catch_expr> gen_type;
1164             typedef typename gen_type::type type;
1165             static type
makecatch_all_push_back1166             make(
1167                 TryCatch const& try_catch
1168               , Expr const& catch_
1169             )
1170             {
1171                 return
1172                     gen_type::make(
1173                         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)
1174                       , proto::make_expr<
1175                             phoenix::tag::catch_all
1176                           , proto::basic_default_domain
1177                         >(catch_)
1178                     );
1179             }
1180         };
1181 
1182 
1183 
1184 
1185 
1186 
1187 
1188         template <typename TryCatch, typename Exception, typename Expr>
1189         struct catch_push_back<TryCatch, Exception, Expr, 19>
1190         {
1191             typedef
1192                 typename proto::result_of::make_expr<
1193                     phoenix::tag::catch_
1194                   , proto::basic_default_domain
1195                   , catch_exception<Exception>
1196                   , Expr
1197                 >::type
1198                 catch_expr;
1199             typedef phoenix::expression::try_catch<
1200                 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
1201               , catch_expr> gen_type;
1202             typedef typename gen_type::type type;
1203             static type
makecatch_push_back1204             make(
1205                 TryCatch const& try_catch
1206               , Expr const& catch_
1207             )
1208             {
1209                 return
1210                     gen_type::make(
1211                         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)
1212                       , proto::make_expr<
1213                             phoenix::tag::catch_
1214                           , proto::basic_default_domain
1215                         >(catch_exception<Exception>(), catch_)
1216                     );
1217             }
1218         };
1219 
1220         template <typename TryCatch, typename Expr>
1221         struct catch_all_push_back<TryCatch, Expr, 19>
1222         {
1223             typedef
1224                 typename proto::result_of::make_expr<
1225                     phoenix::tag::catch_all
1226                   , proto::basic_default_domain
1227                   , Expr
1228                 >::type
1229                 catch_expr;
1230             typedef phoenix::expression::try_catch<
1231                 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
1232               , catch_expr> gen_type;
1233             typedef typename gen_type::type type;
1234             static type
makecatch_all_push_back1235             make(
1236                 TryCatch const& try_catch
1237               , Expr const& catch_
1238             )
1239             {
1240                 return
1241                     gen_type::make(
1242                         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)
1243                       , proto::make_expr<
1244                             phoenix::tag::catch_all
1245                           , proto::basic_default_domain
1246                         >(catch_)
1247                     );
1248             }
1249         };
1250 
1251 
1252 
1253 
1254 
1255 
1256 
1257         template <typename TryCatch, typename Exception, typename Expr>
1258         struct catch_push_back<TryCatch, Exception, Expr, 20>
1259         {
1260             typedef
1261                 typename proto::result_of::make_expr<
1262                     phoenix::tag::catch_
1263                   , proto::basic_default_domain
1264                   , catch_exception<Exception>
1265                   , Expr
1266                 >::type
1267                 catch_expr;
1268             typedef phoenix::expression::try_catch<
1269                 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
1270               , catch_expr> gen_type;
1271             typedef typename gen_type::type type;
1272             static type
makecatch_push_back1273             make(
1274                 TryCatch const& try_catch
1275               , Expr const& catch_
1276             )
1277             {
1278                 return
1279                     gen_type::make(
1280                         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)
1281                       , proto::make_expr<
1282                             phoenix::tag::catch_
1283                           , proto::basic_default_domain
1284                         >(catch_exception<Exception>(), catch_)
1285                     );
1286             }
1287         };
1288 
1289         template <typename TryCatch, typename Expr>
1290         struct catch_all_push_back<TryCatch, Expr, 20>
1291         {
1292             typedef
1293                 typename proto::result_of::make_expr<
1294                     phoenix::tag::catch_all
1295                   , proto::basic_default_domain
1296                   , Expr
1297                 >::type
1298                 catch_expr;
1299             typedef phoenix::expression::try_catch<
1300                 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
1301               , catch_expr> gen_type;
1302             typedef typename gen_type::type type;
1303             static type
makecatch_all_push_back1304             make(
1305                 TryCatch const& try_catch
1306               , Expr const& catch_
1307             )
1308             {
1309                 return
1310                     gen_type::make(
1311                         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)
1312                       , proto::make_expr<
1313                             phoenix::tag::catch_all
1314                           , proto::basic_default_domain
1315                         >(catch_)
1316                     );
1317             }
1318         };
1319 
1320 
1321 
1322 
1323 
1324 
1325 
1326         template <typename TryCatch, typename Exception, typename Expr>
1327         struct catch_push_back<TryCatch, Exception, Expr, 21>
1328         {
1329             typedef
1330                 typename proto::result_of::make_expr<
1331                     phoenix::tag::catch_
1332                   , proto::basic_default_domain
1333                   , catch_exception<Exception>
1334                   , Expr
1335                 >::type
1336                 catch_expr;
1337             typedef phoenix::expression::try_catch<
1338                 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 , typename proto::result_of::child_c<TryCatch, 20>::type
1339               , catch_expr> gen_type;
1340             typedef typename gen_type::type type;
1341             static type
makecatch_push_back1342             make(
1343                 TryCatch const& try_catch
1344               , Expr const& catch_
1345             )
1346             {
1347                 return
1348                     gen_type::make(
1349                         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) , proto::child_c< 20>(try_catch)
1350                       , proto::make_expr<
1351                             phoenix::tag::catch_
1352                           , proto::basic_default_domain
1353                         >(catch_exception<Exception>(), catch_)
1354                     );
1355             }
1356         };
1357 
1358         template <typename TryCatch, typename Expr>
1359         struct catch_all_push_back<TryCatch, Expr, 21>
1360         {
1361             typedef
1362                 typename proto::result_of::make_expr<
1363                     phoenix::tag::catch_all
1364                   , proto::basic_default_domain
1365                   , Expr
1366                 >::type
1367                 catch_expr;
1368             typedef phoenix::expression::try_catch<
1369                 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 , typename proto::result_of::child_c<TryCatch, 20>::type
1370               , catch_expr> gen_type;
1371             typedef typename gen_type::type type;
1372             static type
makecatch_all_push_back1373             make(
1374                 TryCatch const& try_catch
1375               , Expr const& catch_
1376             )
1377             {
1378                 return
1379                     gen_type::make(
1380                         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) , proto::child_c< 20>(try_catch)
1381                       , proto::make_expr<
1382                             phoenix::tag::catch_all
1383                           , proto::basic_default_domain
1384                         >(catch_)
1385                     );
1386             }
1387         };
1388 
1389 
1390 
1391 
1392 
1393 
1394 
1395         template <typename TryCatch, typename Exception, typename Expr>
1396         struct catch_push_back<TryCatch, Exception, Expr, 22>
1397         {
1398             typedef
1399                 typename proto::result_of::make_expr<
1400                     phoenix::tag::catch_
1401                   , proto::basic_default_domain
1402                   , catch_exception<Exception>
1403                   , Expr
1404                 >::type
1405                 catch_expr;
1406             typedef phoenix::expression::try_catch<
1407                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type
1408               , catch_expr> gen_type;
1409             typedef typename gen_type::type type;
1410             static type
makecatch_push_back1411             make(
1412                 TryCatch const& try_catch
1413               , Expr const& catch_
1414             )
1415             {
1416                 return
1417                     gen_type::make(
1418                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch)
1419                       , proto::make_expr<
1420                             phoenix::tag::catch_
1421                           , proto::basic_default_domain
1422                         >(catch_exception<Exception>(), catch_)
1423                     );
1424             }
1425         };
1426 
1427         template <typename TryCatch, typename Expr>
1428         struct catch_all_push_back<TryCatch, Expr, 22>
1429         {
1430             typedef
1431                 typename proto::result_of::make_expr<
1432                     phoenix::tag::catch_all
1433                   , proto::basic_default_domain
1434                   , Expr
1435                 >::type
1436                 catch_expr;
1437             typedef phoenix::expression::try_catch<
1438                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type
1439               , catch_expr> gen_type;
1440             typedef typename gen_type::type type;
1441             static type
makecatch_all_push_back1442             make(
1443                 TryCatch const& try_catch
1444               , Expr const& catch_
1445             )
1446             {
1447                 return
1448                     gen_type::make(
1449                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch)
1450                       , proto::make_expr<
1451                             phoenix::tag::catch_all
1452                           , proto::basic_default_domain
1453                         >(catch_)
1454                     );
1455             }
1456         };
1457 
1458 
1459 
1460 
1461 
1462 
1463 
1464         template <typename TryCatch, typename Exception, typename Expr>
1465         struct catch_push_back<TryCatch, Exception, Expr, 23>
1466         {
1467             typedef
1468                 typename proto::result_of::make_expr<
1469                     phoenix::tag::catch_
1470                   , proto::basic_default_domain
1471                   , catch_exception<Exception>
1472                   , Expr
1473                 >::type
1474                 catch_expr;
1475             typedef phoenix::expression::try_catch<
1476                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type
1477               , catch_expr> gen_type;
1478             typedef typename gen_type::type type;
1479             static type
makecatch_push_back1480             make(
1481                 TryCatch const& try_catch
1482               , Expr const& catch_
1483             )
1484             {
1485                 return
1486                     gen_type::make(
1487                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch)
1488                       , proto::make_expr<
1489                             phoenix::tag::catch_
1490                           , proto::basic_default_domain
1491                         >(catch_exception<Exception>(), catch_)
1492                     );
1493             }
1494         };
1495 
1496         template <typename TryCatch, typename Expr>
1497         struct catch_all_push_back<TryCatch, Expr, 23>
1498         {
1499             typedef
1500                 typename proto::result_of::make_expr<
1501                     phoenix::tag::catch_all
1502                   , proto::basic_default_domain
1503                   , Expr
1504                 >::type
1505                 catch_expr;
1506             typedef phoenix::expression::try_catch<
1507                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type
1508               , catch_expr> gen_type;
1509             typedef typename gen_type::type type;
1510             static type
makecatch_all_push_back1511             make(
1512                 TryCatch const& try_catch
1513               , Expr const& catch_
1514             )
1515             {
1516                 return
1517                     gen_type::make(
1518                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch)
1519                       , proto::make_expr<
1520                             phoenix::tag::catch_all
1521                           , proto::basic_default_domain
1522                         >(catch_)
1523                     );
1524             }
1525         };
1526 
1527 
1528 
1529 
1530 
1531 
1532 
1533         template <typename TryCatch, typename Exception, typename Expr>
1534         struct catch_push_back<TryCatch, Exception, Expr, 24>
1535         {
1536             typedef
1537                 typename proto::result_of::make_expr<
1538                     phoenix::tag::catch_
1539                   , proto::basic_default_domain
1540                   , catch_exception<Exception>
1541                   , Expr
1542                 >::type
1543                 catch_expr;
1544             typedef phoenix::expression::try_catch<
1545                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type
1546               , catch_expr> gen_type;
1547             typedef typename gen_type::type type;
1548             static type
makecatch_push_back1549             make(
1550                 TryCatch const& try_catch
1551               , Expr const& catch_
1552             )
1553             {
1554                 return
1555                     gen_type::make(
1556                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch)
1557                       , proto::make_expr<
1558                             phoenix::tag::catch_
1559                           , proto::basic_default_domain
1560                         >(catch_exception<Exception>(), catch_)
1561                     );
1562             }
1563         };
1564 
1565         template <typename TryCatch, typename Expr>
1566         struct catch_all_push_back<TryCatch, Expr, 24>
1567         {
1568             typedef
1569                 typename proto::result_of::make_expr<
1570                     phoenix::tag::catch_all
1571                   , proto::basic_default_domain
1572                   , Expr
1573                 >::type
1574                 catch_expr;
1575             typedef phoenix::expression::try_catch<
1576                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type
1577               , catch_expr> gen_type;
1578             typedef typename gen_type::type type;
1579             static type
makecatch_all_push_back1580             make(
1581                 TryCatch const& try_catch
1582               , Expr const& catch_
1583             )
1584             {
1585                 return
1586                     gen_type::make(
1587                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch)
1588                       , proto::make_expr<
1589                             phoenix::tag::catch_all
1590                           , proto::basic_default_domain
1591                         >(catch_)
1592                     );
1593             }
1594         };
1595 
1596 
1597 
1598 
1599 
1600 
1601 
1602         template <typename TryCatch, typename Exception, typename Expr>
1603         struct catch_push_back<TryCatch, Exception, Expr, 25>
1604         {
1605             typedef
1606                 typename proto::result_of::make_expr<
1607                     phoenix::tag::catch_
1608                   , proto::basic_default_domain
1609                   , catch_exception<Exception>
1610                   , Expr
1611                 >::type
1612                 catch_expr;
1613             typedef phoenix::expression::try_catch<
1614                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type
1615               , catch_expr> gen_type;
1616             typedef typename gen_type::type type;
1617             static type
makecatch_push_back1618             make(
1619                 TryCatch const& try_catch
1620               , Expr const& catch_
1621             )
1622             {
1623                 return
1624                     gen_type::make(
1625                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch)
1626                       , proto::make_expr<
1627                             phoenix::tag::catch_
1628                           , proto::basic_default_domain
1629                         >(catch_exception<Exception>(), catch_)
1630                     );
1631             }
1632         };
1633 
1634         template <typename TryCatch, typename Expr>
1635         struct catch_all_push_back<TryCatch, Expr, 25>
1636         {
1637             typedef
1638                 typename proto::result_of::make_expr<
1639                     phoenix::tag::catch_all
1640                   , proto::basic_default_domain
1641                   , Expr
1642                 >::type
1643                 catch_expr;
1644             typedef phoenix::expression::try_catch<
1645                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type
1646               , catch_expr> gen_type;
1647             typedef typename gen_type::type type;
1648             static type
makecatch_all_push_back1649             make(
1650                 TryCatch const& try_catch
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) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch)
1657                       , proto::make_expr<
1658                             phoenix::tag::catch_all
1659                           , proto::basic_default_domain
1660                         >(catch_)
1661                     );
1662             }
1663         };
1664 
1665 
1666 
1667 
1668 
1669 
1670 
1671         template <typename TryCatch, typename Exception, typename Expr>
1672         struct catch_push_back<TryCatch, Exception, Expr, 26>
1673         {
1674             typedef
1675                 typename proto::result_of::make_expr<
1676                     phoenix::tag::catch_
1677                   , proto::basic_default_domain
1678                   , catch_exception<Exception>
1679                   , Expr
1680                 >::type
1681                 catch_expr;
1682             typedef phoenix::expression::try_catch<
1683                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type
1684               , catch_expr> gen_type;
1685             typedef typename gen_type::type type;
1686             static type
makecatch_push_back1687             make(
1688                 TryCatch const& try_catch
1689               , Expr const& catch_
1690             )
1691             {
1692                 return
1693                     gen_type::make(
1694                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch)
1695                       , proto::make_expr<
1696                             phoenix::tag::catch_
1697                           , proto::basic_default_domain
1698                         >(catch_exception<Exception>(), catch_)
1699                     );
1700             }
1701         };
1702 
1703         template <typename TryCatch, typename Expr>
1704         struct catch_all_push_back<TryCatch, Expr, 26>
1705         {
1706             typedef
1707                 typename proto::result_of::make_expr<
1708                     phoenix::tag::catch_all
1709                   , proto::basic_default_domain
1710                   , Expr
1711                 >::type
1712                 catch_expr;
1713             typedef phoenix::expression::try_catch<
1714                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type
1715               , catch_expr> gen_type;
1716             typedef typename gen_type::type type;
1717             static type
makecatch_all_push_back1718             make(
1719                 TryCatch const& try_catch
1720               , Expr const& catch_
1721             )
1722             {
1723                 return
1724                     gen_type::make(
1725                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch)
1726                       , proto::make_expr<
1727                             phoenix::tag::catch_all
1728                           , proto::basic_default_domain
1729                         >(catch_)
1730                     );
1731             }
1732         };
1733 
1734 
1735 
1736 
1737 
1738 
1739 
1740         template <typename TryCatch, typename Exception, typename Expr>
1741         struct catch_push_back<TryCatch, Exception, Expr, 27>
1742         {
1743             typedef
1744                 typename proto::result_of::make_expr<
1745                     phoenix::tag::catch_
1746                   , proto::basic_default_domain
1747                   , catch_exception<Exception>
1748                   , Expr
1749                 >::type
1750                 catch_expr;
1751             typedef phoenix::expression::try_catch<
1752                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type
1753               , catch_expr> gen_type;
1754             typedef typename gen_type::type type;
1755             static type
makecatch_push_back1756             make(
1757                 TryCatch const& try_catch
1758               , Expr const& catch_
1759             )
1760             {
1761                 return
1762                     gen_type::make(
1763                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch)
1764                       , proto::make_expr<
1765                             phoenix::tag::catch_
1766                           , proto::basic_default_domain
1767                         >(catch_exception<Exception>(), catch_)
1768                     );
1769             }
1770         };
1771 
1772         template <typename TryCatch, typename Expr>
1773         struct catch_all_push_back<TryCatch, Expr, 27>
1774         {
1775             typedef
1776                 typename proto::result_of::make_expr<
1777                     phoenix::tag::catch_all
1778                   , proto::basic_default_domain
1779                   , Expr
1780                 >::type
1781                 catch_expr;
1782             typedef phoenix::expression::try_catch<
1783                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type
1784               , catch_expr> gen_type;
1785             typedef typename gen_type::type type;
1786             static type
makecatch_all_push_back1787             make(
1788                 TryCatch const& try_catch
1789               , Expr const& catch_
1790             )
1791             {
1792                 return
1793                     gen_type::make(
1794                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch)
1795                       , proto::make_expr<
1796                             phoenix::tag::catch_all
1797                           , proto::basic_default_domain
1798                         >(catch_)
1799                     );
1800             }
1801         };
1802 
1803 
1804 
1805 
1806 
1807 
1808 
1809         template <typename TryCatch, typename Exception, typename Expr>
1810         struct catch_push_back<TryCatch, Exception, Expr, 28>
1811         {
1812             typedef
1813                 typename proto::result_of::make_expr<
1814                     phoenix::tag::catch_
1815                   , proto::basic_default_domain
1816                   , catch_exception<Exception>
1817                   , Expr
1818                 >::type
1819                 catch_expr;
1820             typedef phoenix::expression::try_catch<
1821                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type
1822               , catch_expr> gen_type;
1823             typedef typename gen_type::type type;
1824             static type
makecatch_push_back1825             make(
1826                 TryCatch const& try_catch
1827               , Expr const& catch_
1828             )
1829             {
1830                 return
1831                     gen_type::make(
1832                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch)
1833                       , proto::make_expr<
1834                             phoenix::tag::catch_
1835                           , proto::basic_default_domain
1836                         >(catch_exception<Exception>(), catch_)
1837                     );
1838             }
1839         };
1840 
1841         template <typename TryCatch, typename Expr>
1842         struct catch_all_push_back<TryCatch, Expr, 28>
1843         {
1844             typedef
1845                 typename proto::result_of::make_expr<
1846                     phoenix::tag::catch_all
1847                   , proto::basic_default_domain
1848                   , Expr
1849                 >::type
1850                 catch_expr;
1851             typedef phoenix::expression::try_catch<
1852                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type
1853               , catch_expr> gen_type;
1854             typedef typename gen_type::type type;
1855             static type
makecatch_all_push_back1856             make(
1857                 TryCatch const& try_catch
1858               , Expr const& catch_
1859             )
1860             {
1861                 return
1862                     gen_type::make(
1863                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch)
1864                       , proto::make_expr<
1865                             phoenix::tag::catch_all
1866                           , proto::basic_default_domain
1867                         >(catch_)
1868                     );
1869             }
1870         };
1871 
1872 
1873 
1874 
1875 
1876 
1877 
1878         template <typename TryCatch, typename Exception, typename Expr>
1879         struct catch_push_back<TryCatch, Exception, Expr, 29>
1880         {
1881             typedef
1882                 typename proto::result_of::make_expr<
1883                     phoenix::tag::catch_
1884                   , proto::basic_default_domain
1885                   , catch_exception<Exception>
1886                   , Expr
1887                 >::type
1888                 catch_expr;
1889             typedef phoenix::expression::try_catch<
1890                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type
1891               , catch_expr> gen_type;
1892             typedef typename gen_type::type type;
1893             static type
makecatch_push_back1894             make(
1895                 TryCatch const& try_catch
1896               , Expr const& catch_
1897             )
1898             {
1899                 return
1900                     gen_type::make(
1901                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch)
1902                       , proto::make_expr<
1903                             phoenix::tag::catch_
1904                           , proto::basic_default_domain
1905                         >(catch_exception<Exception>(), catch_)
1906                     );
1907             }
1908         };
1909 
1910         template <typename TryCatch, typename Expr>
1911         struct catch_all_push_back<TryCatch, Expr, 29>
1912         {
1913             typedef
1914                 typename proto::result_of::make_expr<
1915                     phoenix::tag::catch_all
1916                   , proto::basic_default_domain
1917                   , Expr
1918                 >::type
1919                 catch_expr;
1920             typedef phoenix::expression::try_catch<
1921                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type
1922               , catch_expr> gen_type;
1923             typedef typename gen_type::type type;
1924             static type
makecatch_all_push_back1925             make(
1926                 TryCatch const& try_catch
1927               , Expr const& catch_
1928             )
1929             {
1930                 return
1931                     gen_type::make(
1932                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch)
1933                       , proto::make_expr<
1934                             phoenix::tag::catch_all
1935                           , proto::basic_default_domain
1936                         >(catch_)
1937                     );
1938             }
1939         };
1940 
1941 
1942 
1943 
1944 
1945 
1946 
1947         template <typename TryCatch, typename Exception, typename Expr>
1948         struct catch_push_back<TryCatch, Exception, Expr, 30>
1949         {
1950             typedef
1951                 typename proto::result_of::make_expr<
1952                     phoenix::tag::catch_
1953                   , proto::basic_default_domain
1954                   , catch_exception<Exception>
1955                   , Expr
1956                 >::type
1957                 catch_expr;
1958             typedef phoenix::expression::try_catch<
1959                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type
1960               , catch_expr> gen_type;
1961             typedef typename gen_type::type type;
1962             static type
makecatch_push_back1963             make(
1964                 TryCatch const& try_catch
1965               , Expr const& catch_
1966             )
1967             {
1968                 return
1969                     gen_type::make(
1970                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch)
1971                       , proto::make_expr<
1972                             phoenix::tag::catch_
1973                           , proto::basic_default_domain
1974                         >(catch_exception<Exception>(), catch_)
1975                     );
1976             }
1977         };
1978 
1979         template <typename TryCatch, typename Expr>
1980         struct catch_all_push_back<TryCatch, Expr, 30>
1981         {
1982             typedef
1983                 typename proto::result_of::make_expr<
1984                     phoenix::tag::catch_all
1985                   , proto::basic_default_domain
1986                   , Expr
1987                 >::type
1988                 catch_expr;
1989             typedef phoenix::expression::try_catch<
1990                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type
1991               , catch_expr> gen_type;
1992             typedef typename gen_type::type type;
1993             static type
makecatch_all_push_back1994             make(
1995                 TryCatch const& try_catch
1996               , Expr const& catch_
1997             )
1998             {
1999                 return
2000                     gen_type::make(
2001                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch)
2002                       , proto::make_expr<
2003                             phoenix::tag::catch_all
2004                           , proto::basic_default_domain
2005                         >(catch_)
2006                     );
2007             }
2008         };
2009 
2010 
2011 
2012 
2013 
2014 
2015 
2016         template <typename TryCatch, typename Exception, typename Expr>
2017         struct catch_push_back<TryCatch, Exception, Expr, 31>
2018         {
2019             typedef
2020                 typename proto::result_of::make_expr<
2021                     phoenix::tag::catch_
2022                   , proto::basic_default_domain
2023                   , catch_exception<Exception>
2024                   , Expr
2025                 >::type
2026                 catch_expr;
2027             typedef phoenix::expression::try_catch<
2028                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type
2029               , catch_expr> gen_type;
2030             typedef typename gen_type::type type;
2031             static type
makecatch_push_back2032             make(
2033                 TryCatch const& try_catch
2034               , Expr const& catch_
2035             )
2036             {
2037                 return
2038                     gen_type::make(
2039                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch)
2040                       , proto::make_expr<
2041                             phoenix::tag::catch_
2042                           , proto::basic_default_domain
2043                         >(catch_exception<Exception>(), catch_)
2044                     );
2045             }
2046         };
2047 
2048         template <typename TryCatch, typename Expr>
2049         struct catch_all_push_back<TryCatch, Expr, 31>
2050         {
2051             typedef
2052                 typename proto::result_of::make_expr<
2053                     phoenix::tag::catch_all
2054                   , proto::basic_default_domain
2055                   , Expr
2056                 >::type
2057                 catch_expr;
2058             typedef phoenix::expression::try_catch<
2059                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type
2060               , catch_expr> gen_type;
2061             typedef typename gen_type::type type;
2062             static type
makecatch_all_push_back2063             make(
2064                 TryCatch const& try_catch
2065               , Expr const& catch_
2066             )
2067             {
2068                 return
2069                     gen_type::make(
2070                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch)
2071                       , proto::make_expr<
2072                             phoenix::tag::catch_all
2073                           , proto::basic_default_domain
2074                         >(catch_)
2075                     );
2076             }
2077         };
2078 
2079 
2080 
2081 
2082 
2083 
2084 
2085         template <typename TryCatch, typename Exception, typename Expr>
2086         struct catch_push_back<TryCatch, Exception, Expr, 32>
2087         {
2088             typedef
2089                 typename proto::result_of::make_expr<
2090                     phoenix::tag::catch_
2091                   , proto::basic_default_domain
2092                   , catch_exception<Exception>
2093                   , Expr
2094                 >::type
2095                 catch_expr;
2096             typedef phoenix::expression::try_catch<
2097                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type
2098               , catch_expr> gen_type;
2099             typedef typename gen_type::type type;
2100             static type
makecatch_push_back2101             make(
2102                 TryCatch const& try_catch
2103               , Expr const& catch_
2104             )
2105             {
2106                 return
2107                     gen_type::make(
2108                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch)
2109                       , proto::make_expr<
2110                             phoenix::tag::catch_
2111                           , proto::basic_default_domain
2112                         >(catch_exception<Exception>(), catch_)
2113                     );
2114             }
2115         };
2116 
2117         template <typename TryCatch, typename Expr>
2118         struct catch_all_push_back<TryCatch, Expr, 32>
2119         {
2120             typedef
2121                 typename proto::result_of::make_expr<
2122                     phoenix::tag::catch_all
2123                   , proto::basic_default_domain
2124                   , Expr
2125                 >::type
2126                 catch_expr;
2127             typedef phoenix::expression::try_catch<
2128                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type
2129               , catch_expr> gen_type;
2130             typedef typename gen_type::type type;
2131             static type
makecatch_all_push_back2132             make(
2133                 TryCatch const& try_catch
2134               , Expr const& catch_
2135             )
2136             {
2137                 return
2138                     gen_type::make(
2139                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch)
2140                       , proto::make_expr<
2141                             phoenix::tag::catch_all
2142                           , proto::basic_default_domain
2143                         >(catch_)
2144                     );
2145             }
2146         };
2147 
2148 
2149 
2150 
2151 
2152 
2153 
2154         template <typename TryCatch, typename Exception, typename Expr>
2155         struct catch_push_back<TryCatch, Exception, Expr, 33>
2156         {
2157             typedef
2158                 typename proto::result_of::make_expr<
2159                     phoenix::tag::catch_
2160                   , proto::basic_default_domain
2161                   , catch_exception<Exception>
2162                   , Expr
2163                 >::type
2164                 catch_expr;
2165             typedef phoenix::expression::try_catch<
2166                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type
2167               , catch_expr> gen_type;
2168             typedef typename gen_type::type type;
2169             static type
makecatch_push_back2170             make(
2171                 TryCatch const& try_catch
2172               , Expr const& catch_
2173             )
2174             {
2175                 return
2176                     gen_type::make(
2177                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch)
2178                       , proto::make_expr<
2179                             phoenix::tag::catch_
2180                           , proto::basic_default_domain
2181                         >(catch_exception<Exception>(), catch_)
2182                     );
2183             }
2184         };
2185 
2186         template <typename TryCatch, typename Expr>
2187         struct catch_all_push_back<TryCatch, Expr, 33>
2188         {
2189             typedef
2190                 typename proto::result_of::make_expr<
2191                     phoenix::tag::catch_all
2192                   , proto::basic_default_domain
2193                   , Expr
2194                 >::type
2195                 catch_expr;
2196             typedef phoenix::expression::try_catch<
2197                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type
2198               , catch_expr> gen_type;
2199             typedef typename gen_type::type type;
2200             static type
makecatch_all_push_back2201             make(
2202                 TryCatch const& try_catch
2203               , Expr const& catch_
2204             )
2205             {
2206                 return
2207                     gen_type::make(
2208                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch)
2209                       , proto::make_expr<
2210                             phoenix::tag::catch_all
2211                           , proto::basic_default_domain
2212                         >(catch_)
2213                     );
2214             }
2215         };
2216 
2217 
2218 
2219 
2220 
2221 
2222 
2223         template <typename TryCatch, typename Exception, typename Expr>
2224         struct catch_push_back<TryCatch, Exception, Expr, 34>
2225         {
2226             typedef
2227                 typename proto::result_of::make_expr<
2228                     phoenix::tag::catch_
2229                   , proto::basic_default_domain
2230                   , catch_exception<Exception>
2231                   , Expr
2232                 >::type
2233                 catch_expr;
2234             typedef phoenix::expression::try_catch<
2235                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type
2236               , catch_expr> gen_type;
2237             typedef typename gen_type::type type;
2238             static type
makecatch_push_back2239             make(
2240                 TryCatch const& try_catch
2241               , Expr const& catch_
2242             )
2243             {
2244                 return
2245                     gen_type::make(
2246                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch)
2247                       , proto::make_expr<
2248                             phoenix::tag::catch_
2249                           , proto::basic_default_domain
2250                         >(catch_exception<Exception>(), catch_)
2251                     );
2252             }
2253         };
2254 
2255         template <typename TryCatch, typename Expr>
2256         struct catch_all_push_back<TryCatch, Expr, 34>
2257         {
2258             typedef
2259                 typename proto::result_of::make_expr<
2260                     phoenix::tag::catch_all
2261                   , proto::basic_default_domain
2262                   , Expr
2263                 >::type
2264                 catch_expr;
2265             typedef phoenix::expression::try_catch<
2266                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type
2267               , catch_expr> gen_type;
2268             typedef typename gen_type::type type;
2269             static type
makecatch_all_push_back2270             make(
2271                 TryCatch const& try_catch
2272               , Expr const& catch_
2273             )
2274             {
2275                 return
2276                     gen_type::make(
2277                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch)
2278                       , proto::make_expr<
2279                             phoenix::tag::catch_all
2280                           , proto::basic_default_domain
2281                         >(catch_)
2282                     );
2283             }
2284         };
2285 
2286 
2287 
2288 
2289 
2290 
2291 
2292         template <typename TryCatch, typename Exception, typename Expr>
2293         struct catch_push_back<TryCatch, Exception, Expr, 35>
2294         {
2295             typedef
2296                 typename proto::result_of::make_expr<
2297                     phoenix::tag::catch_
2298                   , proto::basic_default_domain
2299                   , catch_exception<Exception>
2300                   , Expr
2301                 >::type
2302                 catch_expr;
2303             typedef phoenix::expression::try_catch<
2304                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type
2305               , catch_expr> gen_type;
2306             typedef typename gen_type::type type;
2307             static type
makecatch_push_back2308             make(
2309                 TryCatch const& try_catch
2310               , Expr const& catch_
2311             )
2312             {
2313                 return
2314                     gen_type::make(
2315                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch)
2316                       , proto::make_expr<
2317                             phoenix::tag::catch_
2318                           , proto::basic_default_domain
2319                         >(catch_exception<Exception>(), catch_)
2320                     );
2321             }
2322         };
2323 
2324         template <typename TryCatch, typename Expr>
2325         struct catch_all_push_back<TryCatch, Expr, 35>
2326         {
2327             typedef
2328                 typename proto::result_of::make_expr<
2329                     phoenix::tag::catch_all
2330                   , proto::basic_default_domain
2331                   , Expr
2332                 >::type
2333                 catch_expr;
2334             typedef phoenix::expression::try_catch<
2335                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type
2336               , catch_expr> gen_type;
2337             typedef typename gen_type::type type;
2338             static type
makecatch_all_push_back2339             make(
2340                 TryCatch const& try_catch
2341               , Expr const& catch_
2342             )
2343             {
2344                 return
2345                     gen_type::make(
2346                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch)
2347                       , proto::make_expr<
2348                             phoenix::tag::catch_all
2349                           , proto::basic_default_domain
2350                         >(catch_)
2351                     );
2352             }
2353         };
2354 
2355 
2356 
2357 
2358 
2359 
2360 
2361         template <typename TryCatch, typename Exception, typename Expr>
2362         struct catch_push_back<TryCatch, Exception, Expr, 36>
2363         {
2364             typedef
2365                 typename proto::result_of::make_expr<
2366                     phoenix::tag::catch_
2367                   , proto::basic_default_domain
2368                   , catch_exception<Exception>
2369                   , Expr
2370                 >::type
2371                 catch_expr;
2372             typedef phoenix::expression::try_catch<
2373                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type
2374               , catch_expr> gen_type;
2375             typedef typename gen_type::type type;
2376             static type
makecatch_push_back2377             make(
2378                 TryCatch const& try_catch
2379               , Expr const& catch_
2380             )
2381             {
2382                 return
2383                     gen_type::make(
2384                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch)
2385                       , proto::make_expr<
2386                             phoenix::tag::catch_
2387                           , proto::basic_default_domain
2388                         >(catch_exception<Exception>(), catch_)
2389                     );
2390             }
2391         };
2392 
2393         template <typename TryCatch, typename Expr>
2394         struct catch_all_push_back<TryCatch, Expr, 36>
2395         {
2396             typedef
2397                 typename proto::result_of::make_expr<
2398                     phoenix::tag::catch_all
2399                   , proto::basic_default_domain
2400                   , Expr
2401                 >::type
2402                 catch_expr;
2403             typedef phoenix::expression::try_catch<
2404                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type
2405               , catch_expr> gen_type;
2406             typedef typename gen_type::type type;
2407             static type
makecatch_all_push_back2408             make(
2409                 TryCatch const& try_catch
2410               , Expr const& catch_
2411             )
2412             {
2413                 return
2414                     gen_type::make(
2415                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch)
2416                       , proto::make_expr<
2417                             phoenix::tag::catch_all
2418                           , proto::basic_default_domain
2419                         >(catch_)
2420                     );
2421             }
2422         };
2423 
2424 
2425 
2426 
2427 
2428 
2429 
2430         template <typename TryCatch, typename Exception, typename Expr>
2431         struct catch_push_back<TryCatch, Exception, Expr, 37>
2432         {
2433             typedef
2434                 typename proto::result_of::make_expr<
2435                     phoenix::tag::catch_
2436                   , proto::basic_default_domain
2437                   , catch_exception<Exception>
2438                   , Expr
2439                 >::type
2440                 catch_expr;
2441             typedef phoenix::expression::try_catch<
2442                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type
2443               , catch_expr> gen_type;
2444             typedef typename gen_type::type type;
2445             static type
makecatch_push_back2446             make(
2447                 TryCatch const& try_catch
2448               , Expr const& catch_
2449             )
2450             {
2451                 return
2452                     gen_type::make(
2453                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch)
2454                       , proto::make_expr<
2455                             phoenix::tag::catch_
2456                           , proto::basic_default_domain
2457                         >(catch_exception<Exception>(), catch_)
2458                     );
2459             }
2460         };
2461 
2462         template <typename TryCatch, typename Expr>
2463         struct catch_all_push_back<TryCatch, Expr, 37>
2464         {
2465             typedef
2466                 typename proto::result_of::make_expr<
2467                     phoenix::tag::catch_all
2468                   , proto::basic_default_domain
2469                   , Expr
2470                 >::type
2471                 catch_expr;
2472             typedef phoenix::expression::try_catch<
2473                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type
2474               , catch_expr> gen_type;
2475             typedef typename gen_type::type type;
2476             static type
makecatch_all_push_back2477             make(
2478                 TryCatch const& try_catch
2479               , Expr const& catch_
2480             )
2481             {
2482                 return
2483                     gen_type::make(
2484                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch)
2485                       , proto::make_expr<
2486                             phoenix::tag::catch_all
2487                           , proto::basic_default_domain
2488                         >(catch_)
2489                     );
2490             }
2491         };
2492 
2493 
2494 
2495 
2496 
2497 
2498 
2499         template <typename TryCatch, typename Exception, typename Expr>
2500         struct catch_push_back<TryCatch, Exception, Expr, 38>
2501         {
2502             typedef
2503                 typename proto::result_of::make_expr<
2504                     phoenix::tag::catch_
2505                   , proto::basic_default_domain
2506                   , catch_exception<Exception>
2507                   , Expr
2508                 >::type
2509                 catch_expr;
2510             typedef phoenix::expression::try_catch<
2511                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type
2512               , catch_expr> gen_type;
2513             typedef typename gen_type::type type;
2514             static type
makecatch_push_back2515             make(
2516                 TryCatch const& try_catch
2517               , Expr const& catch_
2518             )
2519             {
2520                 return
2521                     gen_type::make(
2522                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch)
2523                       , proto::make_expr<
2524                             phoenix::tag::catch_
2525                           , proto::basic_default_domain
2526                         >(catch_exception<Exception>(), catch_)
2527                     );
2528             }
2529         };
2530 
2531         template <typename TryCatch, typename Expr>
2532         struct catch_all_push_back<TryCatch, Expr, 38>
2533         {
2534             typedef
2535                 typename proto::result_of::make_expr<
2536                     phoenix::tag::catch_all
2537                   , proto::basic_default_domain
2538                   , Expr
2539                 >::type
2540                 catch_expr;
2541             typedef phoenix::expression::try_catch<
2542                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type
2543               , catch_expr> gen_type;
2544             typedef typename gen_type::type type;
2545             static type
makecatch_all_push_back2546             make(
2547                 TryCatch const& try_catch
2548               , Expr const& catch_
2549             )
2550             {
2551                 return
2552                     gen_type::make(
2553                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch)
2554                       , proto::make_expr<
2555                             phoenix::tag::catch_all
2556                           , proto::basic_default_domain
2557                         >(catch_)
2558                     );
2559             }
2560         };
2561 
2562 
2563 
2564 
2565 
2566 
2567 
2568         template <typename TryCatch, typename Exception, typename Expr>
2569         struct catch_push_back<TryCatch, Exception, Expr, 39>
2570         {
2571             typedef
2572                 typename proto::result_of::make_expr<
2573                     phoenix::tag::catch_
2574                   , proto::basic_default_domain
2575                   , catch_exception<Exception>
2576                   , Expr
2577                 >::type
2578                 catch_expr;
2579             typedef phoenix::expression::try_catch<
2580                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type
2581               , catch_expr> gen_type;
2582             typedef typename gen_type::type type;
2583             static type
makecatch_push_back2584             make(
2585                 TryCatch const& try_catch
2586               , Expr const& catch_
2587             )
2588             {
2589                 return
2590                     gen_type::make(
2591                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch)
2592                       , proto::make_expr<
2593                             phoenix::tag::catch_
2594                           , proto::basic_default_domain
2595                         >(catch_exception<Exception>(), catch_)
2596                     );
2597             }
2598         };
2599 
2600         template <typename TryCatch, typename Expr>
2601         struct catch_all_push_back<TryCatch, Expr, 39>
2602         {
2603             typedef
2604                 typename proto::result_of::make_expr<
2605                     phoenix::tag::catch_all
2606                   , proto::basic_default_domain
2607                   , Expr
2608                 >::type
2609                 catch_expr;
2610             typedef phoenix::expression::try_catch<
2611                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type
2612               , catch_expr> gen_type;
2613             typedef typename gen_type::type type;
2614             static type
makecatch_all_push_back2615             make(
2616                 TryCatch const& try_catch
2617               , Expr const& catch_
2618             )
2619             {
2620                 return
2621                     gen_type::make(
2622                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch)
2623                       , proto::make_expr<
2624                             phoenix::tag::catch_all
2625                           , proto::basic_default_domain
2626                         >(catch_)
2627                     );
2628             }
2629         };
2630 
2631 
2632 
2633 
2634 
2635 
2636 
2637         template <typename TryCatch, typename Exception, typename Expr>
2638         struct catch_push_back<TryCatch, Exception, Expr, 40>
2639         {
2640             typedef
2641                 typename proto::result_of::make_expr<
2642                     phoenix::tag::catch_
2643                   , proto::basic_default_domain
2644                   , catch_exception<Exception>
2645                   , Expr
2646                 >::type
2647                 catch_expr;
2648             typedef phoenix::expression::try_catch<
2649                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type
2650               , catch_expr> gen_type;
2651             typedef typename gen_type::type type;
2652             static type
makecatch_push_back2653             make(
2654                 TryCatch const& try_catch
2655               , Expr const& catch_
2656             )
2657             {
2658                 return
2659                     gen_type::make(
2660                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch)
2661                       , proto::make_expr<
2662                             phoenix::tag::catch_
2663                           , proto::basic_default_domain
2664                         >(catch_exception<Exception>(), catch_)
2665                     );
2666             }
2667         };
2668 
2669         template <typename TryCatch, typename Expr>
2670         struct catch_all_push_back<TryCatch, Expr, 40>
2671         {
2672             typedef
2673                 typename proto::result_of::make_expr<
2674                     phoenix::tag::catch_all
2675                   , proto::basic_default_domain
2676                   , Expr
2677                 >::type
2678                 catch_expr;
2679             typedef phoenix::expression::try_catch<
2680                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type
2681               , catch_expr> gen_type;
2682             typedef typename gen_type::type type;
2683             static type
makecatch_all_push_back2684             make(
2685                 TryCatch const& try_catch
2686               , Expr const& catch_
2687             )
2688             {
2689                 return
2690                     gen_type::make(
2691                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch)
2692                       , proto::make_expr<
2693                             phoenix::tag::catch_all
2694                           , proto::basic_default_domain
2695                         >(catch_)
2696                     );
2697             }
2698         };
2699 
2700 
2701 
2702 
2703 
2704 
2705 
2706         template <typename TryCatch, typename Exception, typename Expr>
2707         struct catch_push_back<TryCatch, Exception, Expr, 41>
2708         {
2709             typedef
2710                 typename proto::result_of::make_expr<
2711                     phoenix::tag::catch_
2712                   , proto::basic_default_domain
2713                   , catch_exception<Exception>
2714                   , Expr
2715                 >::type
2716                 catch_expr;
2717             typedef phoenix::expression::try_catch<
2718                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type
2719               , catch_expr> gen_type;
2720             typedef typename gen_type::type type;
2721             static type
makecatch_push_back2722             make(
2723                 TryCatch const& try_catch
2724               , Expr const& catch_
2725             )
2726             {
2727                 return
2728                     gen_type::make(
2729                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch)
2730                       , proto::make_expr<
2731                             phoenix::tag::catch_
2732                           , proto::basic_default_domain
2733                         >(catch_exception<Exception>(), catch_)
2734                     );
2735             }
2736         };
2737 
2738         template <typename TryCatch, typename Expr>
2739         struct catch_all_push_back<TryCatch, Expr, 41>
2740         {
2741             typedef
2742                 typename proto::result_of::make_expr<
2743                     phoenix::tag::catch_all
2744                   , proto::basic_default_domain
2745                   , Expr
2746                 >::type
2747                 catch_expr;
2748             typedef phoenix::expression::try_catch<
2749                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type
2750               , catch_expr> gen_type;
2751             typedef typename gen_type::type type;
2752             static type
makecatch_all_push_back2753             make(
2754                 TryCatch const& try_catch
2755               , Expr const& catch_
2756             )
2757             {
2758                 return
2759                     gen_type::make(
2760                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch)
2761                       , proto::make_expr<
2762                             phoenix::tag::catch_all
2763                           , proto::basic_default_domain
2764                         >(catch_)
2765                     );
2766             }
2767         };
2768 
2769 
2770 
2771 
2772 
2773 
2774 
2775         template <typename TryCatch, typename Exception, typename Expr>
2776         struct catch_push_back<TryCatch, Exception, Expr, 42>
2777         {
2778             typedef
2779                 typename proto::result_of::make_expr<
2780                     phoenix::tag::catch_
2781                   , proto::basic_default_domain
2782                   , catch_exception<Exception>
2783                   , Expr
2784                 >::type
2785                 catch_expr;
2786             typedef phoenix::expression::try_catch<
2787                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type
2788               , catch_expr> gen_type;
2789             typedef typename gen_type::type type;
2790             static type
makecatch_push_back2791             make(
2792                 TryCatch const& try_catch
2793               , Expr const& catch_
2794             )
2795             {
2796                 return
2797                     gen_type::make(
2798                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch)
2799                       , proto::make_expr<
2800                             phoenix::tag::catch_
2801                           , proto::basic_default_domain
2802                         >(catch_exception<Exception>(), catch_)
2803                     );
2804             }
2805         };
2806 
2807         template <typename TryCatch, typename Expr>
2808         struct catch_all_push_back<TryCatch, Expr, 42>
2809         {
2810             typedef
2811                 typename proto::result_of::make_expr<
2812                     phoenix::tag::catch_all
2813                   , proto::basic_default_domain
2814                   , Expr
2815                 >::type
2816                 catch_expr;
2817             typedef phoenix::expression::try_catch<
2818                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type
2819               , catch_expr> gen_type;
2820             typedef typename gen_type::type type;
2821             static type
makecatch_all_push_back2822             make(
2823                 TryCatch const& try_catch
2824               , Expr const& catch_
2825             )
2826             {
2827                 return
2828                     gen_type::make(
2829                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch)
2830                       , proto::make_expr<
2831                             phoenix::tag::catch_all
2832                           , proto::basic_default_domain
2833                         >(catch_)
2834                     );
2835             }
2836         };
2837 
2838 
2839 
2840 
2841 
2842 
2843 
2844         template <typename TryCatch, typename Exception, typename Expr>
2845         struct catch_push_back<TryCatch, Exception, Expr, 43>
2846         {
2847             typedef
2848                 typename proto::result_of::make_expr<
2849                     phoenix::tag::catch_
2850                   , proto::basic_default_domain
2851                   , catch_exception<Exception>
2852                   , Expr
2853                 >::type
2854                 catch_expr;
2855             typedef phoenix::expression::try_catch<
2856                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type
2857               , catch_expr> gen_type;
2858             typedef typename gen_type::type type;
2859             static type
makecatch_push_back2860             make(
2861                 TryCatch const& try_catch
2862               , Expr const& catch_
2863             )
2864             {
2865                 return
2866                     gen_type::make(
2867                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch)
2868                       , proto::make_expr<
2869                             phoenix::tag::catch_
2870                           , proto::basic_default_domain
2871                         >(catch_exception<Exception>(), catch_)
2872                     );
2873             }
2874         };
2875 
2876         template <typename TryCatch, typename Expr>
2877         struct catch_all_push_back<TryCatch, Expr, 43>
2878         {
2879             typedef
2880                 typename proto::result_of::make_expr<
2881                     phoenix::tag::catch_all
2882                   , proto::basic_default_domain
2883                   , Expr
2884                 >::type
2885                 catch_expr;
2886             typedef phoenix::expression::try_catch<
2887                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type
2888               , catch_expr> gen_type;
2889             typedef typename gen_type::type type;
2890             static type
makecatch_all_push_back2891             make(
2892                 TryCatch const& try_catch
2893               , Expr const& catch_
2894             )
2895             {
2896                 return
2897                     gen_type::make(
2898                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch)
2899                       , proto::make_expr<
2900                             phoenix::tag::catch_all
2901                           , proto::basic_default_domain
2902                         >(catch_)
2903                     );
2904             }
2905         };
2906 
2907 
2908 
2909 
2910 
2911 
2912 
2913         template <typename TryCatch, typename Exception, typename Expr>
2914         struct catch_push_back<TryCatch, Exception, Expr, 44>
2915         {
2916             typedef
2917                 typename proto::result_of::make_expr<
2918                     phoenix::tag::catch_
2919                   , proto::basic_default_domain
2920                   , catch_exception<Exception>
2921                   , Expr
2922                 >::type
2923                 catch_expr;
2924             typedef phoenix::expression::try_catch<
2925                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type
2926               , catch_expr> gen_type;
2927             typedef typename gen_type::type type;
2928             static type
makecatch_push_back2929             make(
2930                 TryCatch const& try_catch
2931               , Expr const& catch_
2932             )
2933             {
2934                 return
2935                     gen_type::make(
2936                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch)
2937                       , proto::make_expr<
2938                             phoenix::tag::catch_
2939                           , proto::basic_default_domain
2940                         >(catch_exception<Exception>(), catch_)
2941                     );
2942             }
2943         };
2944 
2945         template <typename TryCatch, typename Expr>
2946         struct catch_all_push_back<TryCatch, Expr, 44>
2947         {
2948             typedef
2949                 typename proto::result_of::make_expr<
2950                     phoenix::tag::catch_all
2951                   , proto::basic_default_domain
2952                   , Expr
2953                 >::type
2954                 catch_expr;
2955             typedef phoenix::expression::try_catch<
2956                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type
2957               , catch_expr> gen_type;
2958             typedef typename gen_type::type type;
2959             static type
makecatch_all_push_back2960             make(
2961                 TryCatch const& try_catch
2962               , Expr const& catch_
2963             )
2964             {
2965                 return
2966                     gen_type::make(
2967                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch)
2968                       , proto::make_expr<
2969                             phoenix::tag::catch_all
2970                           , proto::basic_default_domain
2971                         >(catch_)
2972                     );
2973             }
2974         };
2975 
2976 
2977 
2978 
2979 
2980 
2981 
2982         template <typename TryCatch, typename Exception, typename Expr>
2983         struct catch_push_back<TryCatch, Exception, Expr, 45>
2984         {
2985             typedef
2986                 typename proto::result_of::make_expr<
2987                     phoenix::tag::catch_
2988                   , proto::basic_default_domain
2989                   , catch_exception<Exception>
2990                   , Expr
2991                 >::type
2992                 catch_expr;
2993             typedef phoenix::expression::try_catch<
2994                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type
2995               , catch_expr> gen_type;
2996             typedef typename gen_type::type type;
2997             static type
makecatch_push_back2998             make(
2999                 TryCatch const& try_catch
3000               , Expr const& catch_
3001             )
3002             {
3003                 return
3004                     gen_type::make(
3005                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch)
3006                       , proto::make_expr<
3007                             phoenix::tag::catch_
3008                           , proto::basic_default_domain
3009                         >(catch_exception<Exception>(), catch_)
3010                     );
3011             }
3012         };
3013 
3014         template <typename TryCatch, typename Expr>
3015         struct catch_all_push_back<TryCatch, Expr, 45>
3016         {
3017             typedef
3018                 typename proto::result_of::make_expr<
3019                     phoenix::tag::catch_all
3020                   , proto::basic_default_domain
3021                   , Expr
3022                 >::type
3023                 catch_expr;
3024             typedef phoenix::expression::try_catch<
3025                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type
3026               , catch_expr> gen_type;
3027             typedef typename gen_type::type type;
3028             static type
makecatch_all_push_back3029             make(
3030                 TryCatch const& try_catch
3031               , Expr const& catch_
3032             )
3033             {
3034                 return
3035                     gen_type::make(
3036                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch)
3037                       , proto::make_expr<
3038                             phoenix::tag::catch_all
3039                           , proto::basic_default_domain
3040                         >(catch_)
3041                     );
3042             }
3043         };
3044 
3045 
3046 
3047 
3048 
3049 
3050 
3051         template <typename TryCatch, typename Exception, typename Expr>
3052         struct catch_push_back<TryCatch, Exception, Expr, 46>
3053         {
3054             typedef
3055                 typename proto::result_of::make_expr<
3056                     phoenix::tag::catch_
3057                   , proto::basic_default_domain
3058                   , catch_exception<Exception>
3059                   , Expr
3060                 >::type
3061                 catch_expr;
3062             typedef phoenix::expression::try_catch<
3063                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type
3064               , catch_expr> gen_type;
3065             typedef typename gen_type::type type;
3066             static type
makecatch_push_back3067             make(
3068                 TryCatch const& try_catch
3069               , Expr const& catch_
3070             )
3071             {
3072                 return
3073                     gen_type::make(
3074                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch)
3075                       , proto::make_expr<
3076                             phoenix::tag::catch_
3077                           , proto::basic_default_domain
3078                         >(catch_exception<Exception>(), catch_)
3079                     );
3080             }
3081         };
3082 
3083         template <typename TryCatch, typename Expr>
3084         struct catch_all_push_back<TryCatch, Expr, 46>
3085         {
3086             typedef
3087                 typename proto::result_of::make_expr<
3088                     phoenix::tag::catch_all
3089                   , proto::basic_default_domain
3090                   , Expr
3091                 >::type
3092                 catch_expr;
3093             typedef phoenix::expression::try_catch<
3094                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type
3095               , catch_expr> gen_type;
3096             typedef typename gen_type::type type;
3097             static type
makecatch_all_push_back3098             make(
3099                 TryCatch const& try_catch
3100               , Expr const& catch_
3101             )
3102             {
3103                 return
3104                     gen_type::make(
3105                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch)
3106                       , proto::make_expr<
3107                             phoenix::tag::catch_all
3108                           , proto::basic_default_domain
3109                         >(catch_)
3110                     );
3111             }
3112         };
3113 
3114 
3115 
3116 
3117 
3118 
3119 
3120         template <typename TryCatch, typename Exception, typename Expr>
3121         struct catch_push_back<TryCatch, Exception, Expr, 47>
3122         {
3123             typedef
3124                 typename proto::result_of::make_expr<
3125                     phoenix::tag::catch_
3126                   , proto::basic_default_domain
3127                   , catch_exception<Exception>
3128                   , Expr
3129                 >::type
3130                 catch_expr;
3131             typedef phoenix::expression::try_catch<
3132                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type
3133               , catch_expr> gen_type;
3134             typedef typename gen_type::type type;
3135             static type
makecatch_push_back3136             make(
3137                 TryCatch const& try_catch
3138               , Expr const& catch_
3139             )
3140             {
3141                 return
3142                     gen_type::make(
3143                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch)
3144                       , proto::make_expr<
3145                             phoenix::tag::catch_
3146                           , proto::basic_default_domain
3147                         >(catch_exception<Exception>(), catch_)
3148                     );
3149             }
3150         };
3151 
3152         template <typename TryCatch, typename Expr>
3153         struct catch_all_push_back<TryCatch, Expr, 47>
3154         {
3155             typedef
3156                 typename proto::result_of::make_expr<
3157                     phoenix::tag::catch_all
3158                   , proto::basic_default_domain
3159                   , Expr
3160                 >::type
3161                 catch_expr;
3162             typedef phoenix::expression::try_catch<
3163                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type
3164               , catch_expr> gen_type;
3165             typedef typename gen_type::type type;
3166             static type
makecatch_all_push_back3167             make(
3168                 TryCatch const& try_catch
3169               , Expr const& catch_
3170             )
3171             {
3172                 return
3173                     gen_type::make(
3174                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch)
3175                       , proto::make_expr<
3176                             phoenix::tag::catch_all
3177                           , proto::basic_default_domain
3178                         >(catch_)
3179                     );
3180             }
3181         };
3182 
3183 
3184 
3185 
3186 
3187 
3188 
3189         template <typename TryCatch, typename Exception, typename Expr>
3190         struct catch_push_back<TryCatch, Exception, Expr, 48>
3191         {
3192             typedef
3193                 typename proto::result_of::make_expr<
3194                     phoenix::tag::catch_
3195                   , proto::basic_default_domain
3196                   , catch_exception<Exception>
3197                   , Expr
3198                 >::type
3199                 catch_expr;
3200             typedef phoenix::expression::try_catch<
3201                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type
3202               , catch_expr> gen_type;
3203             typedef typename gen_type::type type;
3204             static type
makecatch_push_back3205             make(
3206                 TryCatch const& try_catch
3207               , Expr const& catch_
3208             )
3209             {
3210                 return
3211                     gen_type::make(
3212                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch)
3213                       , proto::make_expr<
3214                             phoenix::tag::catch_
3215                           , proto::basic_default_domain
3216                         >(catch_exception<Exception>(), catch_)
3217                     );
3218             }
3219         };
3220 
3221         template <typename TryCatch, typename Expr>
3222         struct catch_all_push_back<TryCatch, Expr, 48>
3223         {
3224             typedef
3225                 typename proto::result_of::make_expr<
3226                     phoenix::tag::catch_all
3227                   , proto::basic_default_domain
3228                   , Expr
3229                 >::type
3230                 catch_expr;
3231             typedef phoenix::expression::try_catch<
3232                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type
3233               , catch_expr> gen_type;
3234             typedef typename gen_type::type type;
3235             static type
makecatch_all_push_back3236             make(
3237                 TryCatch const& try_catch
3238               , Expr const& catch_
3239             )
3240             {
3241                 return
3242                     gen_type::make(
3243                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch)
3244                       , proto::make_expr<
3245                             phoenix::tag::catch_all
3246                           , proto::basic_default_domain
3247                         >(catch_)
3248                     );
3249             }
3250         };
3251 
3252 
3253 
3254 
3255 
3256 
3257 
3258         template <typename TryCatch, typename Exception, typename Expr>
3259         struct catch_push_back<TryCatch, Exception, Expr, 49>
3260         {
3261             typedef
3262                 typename proto::result_of::make_expr<
3263                     phoenix::tag::catch_
3264                   , proto::basic_default_domain
3265                   , catch_exception<Exception>
3266                   , Expr
3267                 >::type
3268                 catch_expr;
3269             typedef phoenix::expression::try_catch<
3270                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type
3271               , catch_expr> gen_type;
3272             typedef typename gen_type::type type;
3273             static type
makecatch_push_back3274             make(
3275                 TryCatch const& try_catch
3276               , Expr const& catch_
3277             )
3278             {
3279                 return
3280                     gen_type::make(
3281                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch)
3282                       , proto::make_expr<
3283                             phoenix::tag::catch_
3284                           , proto::basic_default_domain
3285                         >(catch_exception<Exception>(), catch_)
3286                     );
3287             }
3288         };
3289 
3290         template <typename TryCatch, typename Expr>
3291         struct catch_all_push_back<TryCatch, Expr, 49>
3292         {
3293             typedef
3294                 typename proto::result_of::make_expr<
3295                     phoenix::tag::catch_all
3296                   , proto::basic_default_domain
3297                   , Expr
3298                 >::type
3299                 catch_expr;
3300             typedef phoenix::expression::try_catch<
3301                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type
3302               , catch_expr> gen_type;
3303             typedef typename gen_type::type type;
3304             static type
makecatch_all_push_back3305             make(
3306                 TryCatch const& try_catch
3307               , Expr const& catch_
3308             )
3309             {
3310                 return
3311                     gen_type::make(
3312                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch)
3313                       , proto::make_expr<
3314                             phoenix::tag::catch_all
3315                           , proto::basic_default_domain
3316                         >(catch_)
3317                     );
3318             }
3319         };
3320 
3321 
3322 
3323 
3324 
3325 
3326 
3327         template <typename TryCatch, typename Exception, typename Expr>
3328         struct catch_push_back<TryCatch, Exception, Expr, 50>
3329         {
3330             typedef
3331                 typename proto::result_of::make_expr<
3332                     phoenix::tag::catch_
3333                   , proto::basic_default_domain
3334                   , catch_exception<Exception>
3335                   , Expr
3336                 >::type
3337                 catch_expr;
3338             typedef phoenix::expression::try_catch<
3339                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type , typename proto::result_of::child_c<TryCatch, 49>::type
3340               , catch_expr> gen_type;
3341             typedef typename gen_type::type type;
3342             static type
makecatch_push_back3343             make(
3344                 TryCatch const& try_catch
3345               , Expr const& catch_
3346             )
3347             {
3348                 return
3349                     gen_type::make(
3350                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch) , proto::child_c< 49>(try_catch)
3351                       , proto::make_expr<
3352                             phoenix::tag::catch_
3353                           , proto::basic_default_domain
3354                         >(catch_exception<Exception>(), catch_)
3355                     );
3356             }
3357         };
3358 
3359         template <typename TryCatch, typename Expr>
3360         struct catch_all_push_back<TryCatch, Expr, 50>
3361         {
3362             typedef
3363                 typename proto::result_of::make_expr<
3364                     phoenix::tag::catch_all
3365                   , proto::basic_default_domain
3366                   , Expr
3367                 >::type
3368                 catch_expr;
3369             typedef phoenix::expression::try_catch<
3370                 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 , typename proto::result_of::child_c<TryCatch, 20>::type , typename proto::result_of::child_c<TryCatch, 21>::type , typename proto::result_of::child_c<TryCatch, 22>::type , typename proto::result_of::child_c<TryCatch, 23>::type , typename proto::result_of::child_c<TryCatch, 24>::type , typename proto::result_of::child_c<TryCatch, 25>::type , typename proto::result_of::child_c<TryCatch, 26>::type , typename proto::result_of::child_c<TryCatch, 27>::type , typename proto::result_of::child_c<TryCatch, 28>::type , typename proto::result_of::child_c<TryCatch, 29>::type , typename proto::result_of::child_c<TryCatch, 30>::type , typename proto::result_of::child_c<TryCatch, 31>::type , typename proto::result_of::child_c<TryCatch, 32>::type , typename proto::result_of::child_c<TryCatch, 33>::type , typename proto::result_of::child_c<TryCatch, 34>::type , typename proto::result_of::child_c<TryCatch, 35>::type , typename proto::result_of::child_c<TryCatch, 36>::type , typename proto::result_of::child_c<TryCatch, 37>::type , typename proto::result_of::child_c<TryCatch, 38>::type , typename proto::result_of::child_c<TryCatch, 39>::type , typename proto::result_of::child_c<TryCatch, 40>::type , typename proto::result_of::child_c<TryCatch, 41>::type , typename proto::result_of::child_c<TryCatch, 42>::type , typename proto::result_of::child_c<TryCatch, 43>::type , typename proto::result_of::child_c<TryCatch, 44>::type , typename proto::result_of::child_c<TryCatch, 45>::type , typename proto::result_of::child_c<TryCatch, 46>::type , typename proto::result_of::child_c<TryCatch, 47>::type , typename proto::result_of::child_c<TryCatch, 48>::type , typename proto::result_of::child_c<TryCatch, 49>::type
3371               , catch_expr> gen_type;
3372             typedef typename gen_type::type type;
3373             static type
makecatch_all_push_back3374             make(
3375                 TryCatch const& try_catch
3376               , Expr const& catch_
3377             )
3378             {
3379                 return
3380                     gen_type::make(
3381                         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) , proto::child_c< 20>(try_catch) , proto::child_c< 21>(try_catch) , proto::child_c< 22>(try_catch) , proto::child_c< 23>(try_catch) , proto::child_c< 24>(try_catch) , proto::child_c< 25>(try_catch) , proto::child_c< 26>(try_catch) , proto::child_c< 27>(try_catch) , proto::child_c< 28>(try_catch) , proto::child_c< 29>(try_catch) , proto::child_c< 30>(try_catch) , proto::child_c< 31>(try_catch) , proto::child_c< 32>(try_catch) , proto::child_c< 33>(try_catch) , proto::child_c< 34>(try_catch) , proto::child_c< 35>(try_catch) , proto::child_c< 36>(try_catch) , proto::child_c< 37>(try_catch) , proto::child_c< 38>(try_catch) , proto::child_c< 39>(try_catch) , proto::child_c< 40>(try_catch) , proto::child_c< 41>(try_catch) , proto::child_c< 42>(try_catch) , proto::child_c< 43>(try_catch) , proto::child_c< 44>(try_catch) , proto::child_c< 45>(try_catch) , proto::child_c< 46>(try_catch) , proto::child_c< 47>(try_catch) , proto::child_c< 48>(try_catch) , proto::child_c< 49>(try_catch)
3382                       , proto::make_expr<
3383                             phoenix::tag::catch_all
3384                           , proto::basic_default_domain
3385                         >(catch_)
3386                     );
3387             }
3388         };
3389 
3390