File indexing completed on 2025-01-18 09:46:34
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0016 struct catch_push_back<TryCatch, Exception, Capture, Expr, 2>
0017 {
0018 typedef
0019 typename proto::result_of::make_expr<
0020 phoenix::tag::catch_
0021 , proto::basic_default_domain
0022 , catch_exception<Exception>
0023 , Capture
0024 , Expr
0025 >::type
0026 catch_expr;
0027 typedef phoenix::expression::try_catch<
0028 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
0029 , catch_expr> gen_type;
0030 typedef typename gen_type::type type;
0031 static type
0032 make(
0033 TryCatch const& try_catch
0034 , Capture const& capture
0035 , Expr const& catch_
0036 )
0037 {
0038 return
0039 gen_type::make(
0040 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
0041 , proto::make_expr<
0042 phoenix::tag::catch_
0043 , proto::basic_default_domain
0044 >(catch_exception<Exception>(), capture, catch_)
0045 );
0046 }
0047 };
0048 template <typename TryCatch, typename Exception, typename Expr>
0049 struct catch_push_back<TryCatch, Exception, void, Expr, 2>
0050 {
0051 typedef
0052 typename proto::result_of::make_expr<
0053 phoenix::tag::catch_
0054 , proto::basic_default_domain
0055 , catch_exception<Exception>
0056 , Expr
0057 >::type
0058 catch_expr;
0059 typedef phoenix::expression::try_catch<
0060 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
0061 , catch_expr> gen_type;
0062 typedef typename gen_type::type type;
0063 static type
0064 make(
0065 TryCatch const& try_catch
0066 , Expr const& catch_
0067 )
0068 {
0069 return
0070 gen_type::make(
0071 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
0072 , proto::make_expr<
0073 phoenix::tag::catch_
0074 , proto::basic_default_domain
0075 >(catch_exception<Exception>(), catch_)
0076 );
0077 }
0078 };
0079 template <typename TryCatch, typename Expr>
0080 struct catch_all_push_back<TryCatch, Expr, 2>
0081 {
0082 typedef
0083 typename proto::result_of::make_expr<
0084 phoenix::tag::catch_all
0085 , proto::basic_default_domain
0086 , Expr
0087 >::type
0088 catch_expr;
0089 typedef phoenix::expression::try_catch<
0090 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type
0091 , catch_expr> gen_type;
0092 typedef typename gen_type::type type;
0093 static type
0094 make(
0095 TryCatch const& try_catch
0096 , Expr const& catch_
0097 )
0098 {
0099 return
0100 gen_type::make(
0101 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch)
0102 , proto::make_expr<
0103 phoenix::tag::catch_all
0104 , proto::basic_default_domain
0105 >(catch_)
0106 );
0107 }
0108 };
0109
0110
0111
0112
0113
0114
0115
0116 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0117 struct catch_push_back<TryCatch, Exception, Capture, Expr, 3>
0118 {
0119 typedef
0120 typename proto::result_of::make_expr<
0121 phoenix::tag::catch_
0122 , proto::basic_default_domain
0123 , catch_exception<Exception>
0124 , Capture
0125 , Expr
0126 >::type
0127 catch_expr;
0128 typedef phoenix::expression::try_catch<
0129 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
0130 , catch_expr> gen_type;
0131 typedef typename gen_type::type type;
0132 static type
0133 make(
0134 TryCatch const& try_catch
0135 , Capture const& capture
0136 , Expr const& catch_
0137 )
0138 {
0139 return
0140 gen_type::make(
0141 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
0142 , proto::make_expr<
0143 phoenix::tag::catch_
0144 , proto::basic_default_domain
0145 >(catch_exception<Exception>(), capture, catch_)
0146 );
0147 }
0148 };
0149 template <typename TryCatch, typename Exception, typename Expr>
0150 struct catch_push_back<TryCatch, Exception, void, Expr, 3>
0151 {
0152 typedef
0153 typename proto::result_of::make_expr<
0154 phoenix::tag::catch_
0155 , proto::basic_default_domain
0156 , catch_exception<Exception>
0157 , Expr
0158 >::type
0159 catch_expr;
0160 typedef phoenix::expression::try_catch<
0161 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
0162 , catch_expr> gen_type;
0163 typedef typename gen_type::type type;
0164 static type
0165 make(
0166 TryCatch const& try_catch
0167 , Expr const& catch_
0168 )
0169 {
0170 return
0171 gen_type::make(
0172 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
0173 , proto::make_expr<
0174 phoenix::tag::catch_
0175 , proto::basic_default_domain
0176 >(catch_exception<Exception>(), catch_)
0177 );
0178 }
0179 };
0180 template <typename TryCatch, typename Expr>
0181 struct catch_all_push_back<TryCatch, Expr, 3>
0182 {
0183 typedef
0184 typename proto::result_of::make_expr<
0185 phoenix::tag::catch_all
0186 , proto::basic_default_domain
0187 , Expr
0188 >::type
0189 catch_expr;
0190 typedef phoenix::expression::try_catch<
0191 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
0192 , catch_expr> gen_type;
0193 typedef typename gen_type::type type;
0194 static type
0195 make(
0196 TryCatch const& try_catch
0197 , Expr const& catch_
0198 )
0199 {
0200 return
0201 gen_type::make(
0202 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch)
0203 , proto::make_expr<
0204 phoenix::tag::catch_all
0205 , proto::basic_default_domain
0206 >(catch_)
0207 );
0208 }
0209 };
0210
0211
0212
0213
0214
0215
0216
0217 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0218 struct catch_push_back<TryCatch, Exception, Capture, Expr, 4>
0219 {
0220 typedef
0221 typename proto::result_of::make_expr<
0222 phoenix::tag::catch_
0223 , proto::basic_default_domain
0224 , catch_exception<Exception>
0225 , Capture
0226 , Expr
0227 >::type
0228 catch_expr;
0229 typedef phoenix::expression::try_catch<
0230 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
0231 , catch_expr> gen_type;
0232 typedef typename gen_type::type type;
0233 static type
0234 make(
0235 TryCatch const& try_catch
0236 , Capture const& capture
0237 , Expr const& catch_
0238 )
0239 {
0240 return
0241 gen_type::make(
0242 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
0243 , proto::make_expr<
0244 phoenix::tag::catch_
0245 , proto::basic_default_domain
0246 >(catch_exception<Exception>(), capture, catch_)
0247 );
0248 }
0249 };
0250 template <typename TryCatch, typename Exception, typename Expr>
0251 struct catch_push_back<TryCatch, Exception, void, Expr, 4>
0252 {
0253 typedef
0254 typename proto::result_of::make_expr<
0255 phoenix::tag::catch_
0256 , proto::basic_default_domain
0257 , catch_exception<Exception>
0258 , Expr
0259 >::type
0260 catch_expr;
0261 typedef phoenix::expression::try_catch<
0262 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
0263 , catch_expr> gen_type;
0264 typedef typename gen_type::type type;
0265 static type
0266 make(
0267 TryCatch const& try_catch
0268 , Expr const& catch_
0269 )
0270 {
0271 return
0272 gen_type::make(
0273 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
0274 , proto::make_expr<
0275 phoenix::tag::catch_
0276 , proto::basic_default_domain
0277 >(catch_exception<Exception>(), catch_)
0278 );
0279 }
0280 };
0281 template <typename TryCatch, typename Expr>
0282 struct catch_all_push_back<TryCatch, Expr, 4>
0283 {
0284 typedef
0285 typename proto::result_of::make_expr<
0286 phoenix::tag::catch_all
0287 , proto::basic_default_domain
0288 , Expr
0289 >::type
0290 catch_expr;
0291 typedef phoenix::expression::try_catch<
0292 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
0293 , catch_expr> gen_type;
0294 typedef typename gen_type::type type;
0295 static type
0296 make(
0297 TryCatch const& try_catch
0298 , Expr const& catch_
0299 )
0300 {
0301 return
0302 gen_type::make(
0303 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch)
0304 , proto::make_expr<
0305 phoenix::tag::catch_all
0306 , proto::basic_default_domain
0307 >(catch_)
0308 );
0309 }
0310 };
0311
0312
0313
0314
0315
0316
0317
0318 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0319 struct catch_push_back<TryCatch, Exception, Capture, Expr, 5>
0320 {
0321 typedef
0322 typename proto::result_of::make_expr<
0323 phoenix::tag::catch_
0324 , proto::basic_default_domain
0325 , catch_exception<Exception>
0326 , Capture
0327 , Expr
0328 >::type
0329 catch_expr;
0330 typedef phoenix::expression::try_catch<
0331 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
0332 , catch_expr> gen_type;
0333 typedef typename gen_type::type type;
0334 static type
0335 make(
0336 TryCatch const& try_catch
0337 , Capture const& capture
0338 , Expr const& catch_
0339 )
0340 {
0341 return
0342 gen_type::make(
0343 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)
0344 , proto::make_expr<
0345 phoenix::tag::catch_
0346 , proto::basic_default_domain
0347 >(catch_exception<Exception>(), capture, catch_)
0348 );
0349 }
0350 };
0351 template <typename TryCatch, typename Exception, typename Expr>
0352 struct catch_push_back<TryCatch, Exception, void, Expr, 5>
0353 {
0354 typedef
0355 typename proto::result_of::make_expr<
0356 phoenix::tag::catch_
0357 , proto::basic_default_domain
0358 , catch_exception<Exception>
0359 , Expr
0360 >::type
0361 catch_expr;
0362 typedef phoenix::expression::try_catch<
0363 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
0364 , catch_expr> gen_type;
0365 typedef typename gen_type::type type;
0366 static type
0367 make(
0368 TryCatch const& try_catch
0369 , Expr const& catch_
0370 )
0371 {
0372 return
0373 gen_type::make(
0374 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)
0375 , proto::make_expr<
0376 phoenix::tag::catch_
0377 , proto::basic_default_domain
0378 >(catch_exception<Exception>(), catch_)
0379 );
0380 }
0381 };
0382 template <typename TryCatch, typename Expr>
0383 struct catch_all_push_back<TryCatch, Expr, 5>
0384 {
0385 typedef
0386 typename proto::result_of::make_expr<
0387 phoenix::tag::catch_all
0388 , proto::basic_default_domain
0389 , Expr
0390 >::type
0391 catch_expr;
0392 typedef phoenix::expression::try_catch<
0393 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
0394 , catch_expr> gen_type;
0395 typedef typename gen_type::type type;
0396 static type
0397 make(
0398 TryCatch const& try_catch
0399 , Expr const& catch_
0400 )
0401 {
0402 return
0403 gen_type::make(
0404 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)
0405 , proto::make_expr<
0406 phoenix::tag::catch_all
0407 , proto::basic_default_domain
0408 >(catch_)
0409 );
0410 }
0411 };
0412
0413
0414
0415
0416
0417
0418
0419 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0420 struct catch_push_back<TryCatch, Exception, Capture, Expr, 6>
0421 {
0422 typedef
0423 typename proto::result_of::make_expr<
0424 phoenix::tag::catch_
0425 , proto::basic_default_domain
0426 , catch_exception<Exception>
0427 , Capture
0428 , Expr
0429 >::type
0430 catch_expr;
0431 typedef phoenix::expression::try_catch<
0432 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
0433 , catch_expr> gen_type;
0434 typedef typename gen_type::type type;
0435 static type
0436 make(
0437 TryCatch const& try_catch
0438 , Capture const& capture
0439 , Expr const& catch_
0440 )
0441 {
0442 return
0443 gen_type::make(
0444 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)
0445 , proto::make_expr<
0446 phoenix::tag::catch_
0447 , proto::basic_default_domain
0448 >(catch_exception<Exception>(), capture, catch_)
0449 );
0450 }
0451 };
0452 template <typename TryCatch, typename Exception, typename Expr>
0453 struct catch_push_back<TryCatch, Exception, void, Expr, 6>
0454 {
0455 typedef
0456 typename proto::result_of::make_expr<
0457 phoenix::tag::catch_
0458 , proto::basic_default_domain
0459 , catch_exception<Exception>
0460 , Expr
0461 >::type
0462 catch_expr;
0463 typedef phoenix::expression::try_catch<
0464 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
0465 , catch_expr> gen_type;
0466 typedef typename gen_type::type type;
0467 static type
0468 make(
0469 TryCatch const& try_catch
0470 , Expr const& catch_
0471 )
0472 {
0473 return
0474 gen_type::make(
0475 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)
0476 , proto::make_expr<
0477 phoenix::tag::catch_
0478 , proto::basic_default_domain
0479 >(catch_exception<Exception>(), catch_)
0480 );
0481 }
0482 };
0483 template <typename TryCatch, typename Expr>
0484 struct catch_all_push_back<TryCatch, Expr, 6>
0485 {
0486 typedef
0487 typename proto::result_of::make_expr<
0488 phoenix::tag::catch_all
0489 , proto::basic_default_domain
0490 , Expr
0491 >::type
0492 catch_expr;
0493 typedef phoenix::expression::try_catch<
0494 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
0495 , catch_expr> gen_type;
0496 typedef typename gen_type::type type;
0497 static type
0498 make(
0499 TryCatch const& try_catch
0500 , Expr const& catch_
0501 )
0502 {
0503 return
0504 gen_type::make(
0505 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)
0506 , proto::make_expr<
0507 phoenix::tag::catch_all
0508 , proto::basic_default_domain
0509 >(catch_)
0510 );
0511 }
0512 };
0513
0514
0515
0516
0517
0518
0519
0520 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0521 struct catch_push_back<TryCatch, Exception, Capture, Expr, 7>
0522 {
0523 typedef
0524 typename proto::result_of::make_expr<
0525 phoenix::tag::catch_
0526 , proto::basic_default_domain
0527 , catch_exception<Exception>
0528 , Capture
0529 , Expr
0530 >::type
0531 catch_expr;
0532 typedef phoenix::expression::try_catch<
0533 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
0534 , catch_expr> gen_type;
0535 typedef typename gen_type::type type;
0536 static type
0537 make(
0538 TryCatch const& try_catch
0539 , Capture const& capture
0540 , Expr const& catch_
0541 )
0542 {
0543 return
0544 gen_type::make(
0545 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)
0546 , proto::make_expr<
0547 phoenix::tag::catch_
0548 , proto::basic_default_domain
0549 >(catch_exception<Exception>(), capture, catch_)
0550 );
0551 }
0552 };
0553 template <typename TryCatch, typename Exception, typename Expr>
0554 struct catch_push_back<TryCatch, Exception, void, Expr, 7>
0555 {
0556 typedef
0557 typename proto::result_of::make_expr<
0558 phoenix::tag::catch_
0559 , proto::basic_default_domain
0560 , catch_exception<Exception>
0561 , Expr
0562 >::type
0563 catch_expr;
0564 typedef phoenix::expression::try_catch<
0565 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
0566 , catch_expr> gen_type;
0567 typedef typename gen_type::type type;
0568 static type
0569 make(
0570 TryCatch const& try_catch
0571 , Expr const& catch_
0572 )
0573 {
0574 return
0575 gen_type::make(
0576 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)
0577 , proto::make_expr<
0578 phoenix::tag::catch_
0579 , proto::basic_default_domain
0580 >(catch_exception<Exception>(), catch_)
0581 );
0582 }
0583 };
0584 template <typename TryCatch, typename Expr>
0585 struct catch_all_push_back<TryCatch, Expr, 7>
0586 {
0587 typedef
0588 typename proto::result_of::make_expr<
0589 phoenix::tag::catch_all
0590 , proto::basic_default_domain
0591 , Expr
0592 >::type
0593 catch_expr;
0594 typedef phoenix::expression::try_catch<
0595 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
0596 , catch_expr> gen_type;
0597 typedef typename gen_type::type type;
0598 static type
0599 make(
0600 TryCatch const& try_catch
0601 , Expr const& catch_
0602 )
0603 {
0604 return
0605 gen_type::make(
0606 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)
0607 , proto::make_expr<
0608 phoenix::tag::catch_all
0609 , proto::basic_default_domain
0610 >(catch_)
0611 );
0612 }
0613 };
0614
0615
0616
0617
0618
0619
0620
0621 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0622 struct catch_push_back<TryCatch, Exception, Capture, Expr, 8>
0623 {
0624 typedef
0625 typename proto::result_of::make_expr<
0626 phoenix::tag::catch_
0627 , proto::basic_default_domain
0628 , catch_exception<Exception>
0629 , Capture
0630 , Expr
0631 >::type
0632 catch_expr;
0633 typedef phoenix::expression::try_catch<
0634 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
0635 , catch_expr> gen_type;
0636 typedef typename gen_type::type type;
0637 static type
0638 make(
0639 TryCatch const& try_catch
0640 , Capture const& capture
0641 , Expr const& catch_
0642 )
0643 {
0644 return
0645 gen_type::make(
0646 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)
0647 , proto::make_expr<
0648 phoenix::tag::catch_
0649 , proto::basic_default_domain
0650 >(catch_exception<Exception>(), capture, catch_)
0651 );
0652 }
0653 };
0654 template <typename TryCatch, typename Exception, typename Expr>
0655 struct catch_push_back<TryCatch, Exception, void, Expr, 8>
0656 {
0657 typedef
0658 typename proto::result_of::make_expr<
0659 phoenix::tag::catch_
0660 , proto::basic_default_domain
0661 , catch_exception<Exception>
0662 , Expr
0663 >::type
0664 catch_expr;
0665 typedef phoenix::expression::try_catch<
0666 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
0667 , catch_expr> gen_type;
0668 typedef typename gen_type::type type;
0669 static type
0670 make(
0671 TryCatch const& try_catch
0672 , Expr const& catch_
0673 )
0674 {
0675 return
0676 gen_type::make(
0677 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)
0678 , proto::make_expr<
0679 phoenix::tag::catch_
0680 , proto::basic_default_domain
0681 >(catch_exception<Exception>(), catch_)
0682 );
0683 }
0684 };
0685 template <typename TryCatch, typename Expr>
0686 struct catch_all_push_back<TryCatch, Expr, 8>
0687 {
0688 typedef
0689 typename proto::result_of::make_expr<
0690 phoenix::tag::catch_all
0691 , proto::basic_default_domain
0692 , Expr
0693 >::type
0694 catch_expr;
0695 typedef phoenix::expression::try_catch<
0696 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
0697 , catch_expr> gen_type;
0698 typedef typename gen_type::type type;
0699 static type
0700 make(
0701 TryCatch const& try_catch
0702 , Expr const& catch_
0703 )
0704 {
0705 return
0706 gen_type::make(
0707 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)
0708 , proto::make_expr<
0709 phoenix::tag::catch_all
0710 , proto::basic_default_domain
0711 >(catch_)
0712 );
0713 }
0714 };
0715
0716
0717
0718
0719
0720
0721
0722 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0723 struct catch_push_back<TryCatch, Exception, Capture, Expr, 9>
0724 {
0725 typedef
0726 typename proto::result_of::make_expr<
0727 phoenix::tag::catch_
0728 , proto::basic_default_domain
0729 , catch_exception<Exception>
0730 , Capture
0731 , Expr
0732 >::type
0733 catch_expr;
0734 typedef phoenix::expression::try_catch<
0735 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
0736 , catch_expr> gen_type;
0737 typedef typename gen_type::type type;
0738 static type
0739 make(
0740 TryCatch const& try_catch
0741 , Capture const& capture
0742 , Expr const& catch_
0743 )
0744 {
0745 return
0746 gen_type::make(
0747 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)
0748 , proto::make_expr<
0749 phoenix::tag::catch_
0750 , proto::basic_default_domain
0751 >(catch_exception<Exception>(), capture, catch_)
0752 );
0753 }
0754 };
0755 template <typename TryCatch, typename Exception, typename Expr>
0756 struct catch_push_back<TryCatch, Exception, void, Expr, 9>
0757 {
0758 typedef
0759 typename proto::result_of::make_expr<
0760 phoenix::tag::catch_
0761 , proto::basic_default_domain
0762 , catch_exception<Exception>
0763 , Expr
0764 >::type
0765 catch_expr;
0766 typedef phoenix::expression::try_catch<
0767 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
0768 , catch_expr> gen_type;
0769 typedef typename gen_type::type type;
0770 static type
0771 make(
0772 TryCatch const& try_catch
0773 , Expr const& catch_
0774 )
0775 {
0776 return
0777 gen_type::make(
0778 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)
0779 , proto::make_expr<
0780 phoenix::tag::catch_
0781 , proto::basic_default_domain
0782 >(catch_exception<Exception>(), catch_)
0783 );
0784 }
0785 };
0786 template <typename TryCatch, typename Expr>
0787 struct catch_all_push_back<TryCatch, Expr, 9>
0788 {
0789 typedef
0790 typename proto::result_of::make_expr<
0791 phoenix::tag::catch_all
0792 , proto::basic_default_domain
0793 , Expr
0794 >::type
0795 catch_expr;
0796 typedef phoenix::expression::try_catch<
0797 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
0798 , catch_expr> gen_type;
0799 typedef typename gen_type::type type;
0800 static type
0801 make(
0802 TryCatch const& try_catch
0803 , Expr const& catch_
0804 )
0805 {
0806 return
0807 gen_type::make(
0808 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)
0809 , proto::make_expr<
0810 phoenix::tag::catch_all
0811 , proto::basic_default_domain
0812 >(catch_)
0813 );
0814 }
0815 };
0816
0817
0818
0819
0820
0821
0822
0823 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0824 struct catch_push_back<TryCatch, Exception, Capture, Expr, 10>
0825 {
0826 typedef
0827 typename proto::result_of::make_expr<
0828 phoenix::tag::catch_
0829 , proto::basic_default_domain
0830 , catch_exception<Exception>
0831 , Capture
0832 , Expr
0833 >::type
0834 catch_expr;
0835 typedef phoenix::expression::try_catch<
0836 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
0837 , catch_expr> gen_type;
0838 typedef typename gen_type::type type;
0839 static type
0840 make(
0841 TryCatch const& try_catch
0842 , Capture const& capture
0843 , Expr const& catch_
0844 )
0845 {
0846 return
0847 gen_type::make(
0848 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)
0849 , proto::make_expr<
0850 phoenix::tag::catch_
0851 , proto::basic_default_domain
0852 >(catch_exception<Exception>(), capture, catch_)
0853 );
0854 }
0855 };
0856 template <typename TryCatch, typename Exception, typename Expr>
0857 struct catch_push_back<TryCatch, Exception, void, Expr, 10>
0858 {
0859 typedef
0860 typename proto::result_of::make_expr<
0861 phoenix::tag::catch_
0862 , proto::basic_default_domain
0863 , catch_exception<Exception>
0864 , Expr
0865 >::type
0866 catch_expr;
0867 typedef phoenix::expression::try_catch<
0868 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
0869 , catch_expr> gen_type;
0870 typedef typename gen_type::type type;
0871 static type
0872 make(
0873 TryCatch const& try_catch
0874 , Expr const& catch_
0875 )
0876 {
0877 return
0878 gen_type::make(
0879 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)
0880 , proto::make_expr<
0881 phoenix::tag::catch_
0882 , proto::basic_default_domain
0883 >(catch_exception<Exception>(), catch_)
0884 );
0885 }
0886 };
0887 template <typename TryCatch, typename Expr>
0888 struct catch_all_push_back<TryCatch, Expr, 10>
0889 {
0890 typedef
0891 typename proto::result_of::make_expr<
0892 phoenix::tag::catch_all
0893 , proto::basic_default_domain
0894 , Expr
0895 >::type
0896 catch_expr;
0897 typedef phoenix::expression::try_catch<
0898 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
0899 , catch_expr> gen_type;
0900 typedef typename gen_type::type type;
0901 static type
0902 make(
0903 TryCatch const& try_catch
0904 , Expr const& catch_
0905 )
0906 {
0907 return
0908 gen_type::make(
0909 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)
0910 , proto::make_expr<
0911 phoenix::tag::catch_all
0912 , proto::basic_default_domain
0913 >(catch_)
0914 );
0915 }
0916 };
0917
0918
0919
0920
0921
0922
0923
0924 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
0925 struct catch_push_back<TryCatch, Exception, Capture, Expr, 11>
0926 {
0927 typedef
0928 typename proto::result_of::make_expr<
0929 phoenix::tag::catch_
0930 , proto::basic_default_domain
0931 , catch_exception<Exception>
0932 , Capture
0933 , Expr
0934 >::type
0935 catch_expr;
0936 typedef phoenix::expression::try_catch<
0937 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
0938 , catch_expr> gen_type;
0939 typedef typename gen_type::type type;
0940 static type
0941 make(
0942 TryCatch const& try_catch
0943 , Capture const& capture
0944 , Expr const& catch_
0945 )
0946 {
0947 return
0948 gen_type::make(
0949 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)
0950 , proto::make_expr<
0951 phoenix::tag::catch_
0952 , proto::basic_default_domain
0953 >(catch_exception<Exception>(), capture, catch_)
0954 );
0955 }
0956 };
0957 template <typename TryCatch, typename Exception, typename Expr>
0958 struct catch_push_back<TryCatch, Exception, void, Expr, 11>
0959 {
0960 typedef
0961 typename proto::result_of::make_expr<
0962 phoenix::tag::catch_
0963 , proto::basic_default_domain
0964 , catch_exception<Exception>
0965 , Expr
0966 >::type
0967 catch_expr;
0968 typedef phoenix::expression::try_catch<
0969 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
0970 , catch_expr> gen_type;
0971 typedef typename gen_type::type type;
0972 static type
0973 make(
0974 TryCatch const& try_catch
0975 , Expr const& catch_
0976 )
0977 {
0978 return
0979 gen_type::make(
0980 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)
0981 , proto::make_expr<
0982 phoenix::tag::catch_
0983 , proto::basic_default_domain
0984 >(catch_exception<Exception>(), catch_)
0985 );
0986 }
0987 };
0988 template <typename TryCatch, typename Expr>
0989 struct catch_all_push_back<TryCatch, Expr, 11>
0990 {
0991 typedef
0992 typename proto::result_of::make_expr<
0993 phoenix::tag::catch_all
0994 , proto::basic_default_domain
0995 , Expr
0996 >::type
0997 catch_expr;
0998 typedef phoenix::expression::try_catch<
0999 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type
1000 , catch_expr> gen_type;
1001 typedef typename gen_type::type type;
1002 static type
1003 make(
1004 TryCatch const& try_catch
1005 , Expr const& catch_
1006 )
1007 {
1008 return
1009 gen_type::make(
1010 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch)
1011 , proto::make_expr<
1012 phoenix::tag::catch_all
1013 , proto::basic_default_domain
1014 >(catch_)
1015 );
1016 }
1017 };
1018
1019
1020
1021
1022
1023
1024
1025 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1026 struct catch_push_back<TryCatch, Exception, Capture, Expr, 12>
1027 {
1028 typedef
1029 typename proto::result_of::make_expr<
1030 phoenix::tag::catch_
1031 , proto::basic_default_domain
1032 , catch_exception<Exception>
1033 , Capture
1034 , Expr
1035 >::type
1036 catch_expr;
1037 typedef phoenix::expression::try_catch<
1038 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
1039 , catch_expr> gen_type;
1040 typedef typename gen_type::type type;
1041 static type
1042 make(
1043 TryCatch const& try_catch
1044 , Capture const& capture
1045 , Expr const& catch_
1046 )
1047 {
1048 return
1049 gen_type::make(
1050 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
1051 , proto::make_expr<
1052 phoenix::tag::catch_
1053 , proto::basic_default_domain
1054 >(catch_exception<Exception>(), capture, catch_)
1055 );
1056 }
1057 };
1058 template <typename TryCatch, typename Exception, typename Expr>
1059 struct catch_push_back<TryCatch, Exception, void, Expr, 12>
1060 {
1061 typedef
1062 typename proto::result_of::make_expr<
1063 phoenix::tag::catch_
1064 , proto::basic_default_domain
1065 , catch_exception<Exception>
1066 , Expr
1067 >::type
1068 catch_expr;
1069 typedef phoenix::expression::try_catch<
1070 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
1071 , catch_expr> gen_type;
1072 typedef typename gen_type::type type;
1073 static type
1074 make(
1075 TryCatch const& try_catch
1076 , Expr const& catch_
1077 )
1078 {
1079 return
1080 gen_type::make(
1081 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
1082 , proto::make_expr<
1083 phoenix::tag::catch_
1084 , proto::basic_default_domain
1085 >(catch_exception<Exception>(), catch_)
1086 );
1087 }
1088 };
1089 template <typename TryCatch, typename Expr>
1090 struct catch_all_push_back<TryCatch, Expr, 12>
1091 {
1092 typedef
1093 typename proto::result_of::make_expr<
1094 phoenix::tag::catch_all
1095 , proto::basic_default_domain
1096 , Expr
1097 >::type
1098 catch_expr;
1099 typedef phoenix::expression::try_catch<
1100 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type
1101 , catch_expr> gen_type;
1102 typedef typename gen_type::type type;
1103 static type
1104 make(
1105 TryCatch const& try_catch
1106 , Expr const& catch_
1107 )
1108 {
1109 return
1110 gen_type::make(
1111 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch)
1112 , proto::make_expr<
1113 phoenix::tag::catch_all
1114 , proto::basic_default_domain
1115 >(catch_)
1116 );
1117 }
1118 };
1119
1120
1121
1122
1123
1124
1125
1126 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1127 struct catch_push_back<TryCatch, Exception, Capture, Expr, 13>
1128 {
1129 typedef
1130 typename proto::result_of::make_expr<
1131 phoenix::tag::catch_
1132 , proto::basic_default_domain
1133 , catch_exception<Exception>
1134 , Capture
1135 , Expr
1136 >::type
1137 catch_expr;
1138 typedef phoenix::expression::try_catch<
1139 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
1140 , catch_expr> gen_type;
1141 typedef typename gen_type::type type;
1142 static type
1143 make(
1144 TryCatch const& try_catch
1145 , Capture const& capture
1146 , Expr const& catch_
1147 )
1148 {
1149 return
1150 gen_type::make(
1151 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
1152 , proto::make_expr<
1153 phoenix::tag::catch_
1154 , proto::basic_default_domain
1155 >(catch_exception<Exception>(), capture, catch_)
1156 );
1157 }
1158 };
1159 template <typename TryCatch, typename Exception, typename Expr>
1160 struct catch_push_back<TryCatch, Exception, void, Expr, 13>
1161 {
1162 typedef
1163 typename proto::result_of::make_expr<
1164 phoenix::tag::catch_
1165 , proto::basic_default_domain
1166 , catch_exception<Exception>
1167 , Expr
1168 >::type
1169 catch_expr;
1170 typedef phoenix::expression::try_catch<
1171 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
1172 , catch_expr> gen_type;
1173 typedef typename gen_type::type type;
1174 static type
1175 make(
1176 TryCatch const& try_catch
1177 , Expr const& catch_
1178 )
1179 {
1180 return
1181 gen_type::make(
1182 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
1183 , proto::make_expr<
1184 phoenix::tag::catch_
1185 , proto::basic_default_domain
1186 >(catch_exception<Exception>(), catch_)
1187 );
1188 }
1189 };
1190 template <typename TryCatch, typename Expr>
1191 struct catch_all_push_back<TryCatch, Expr, 13>
1192 {
1193 typedef
1194 typename proto::result_of::make_expr<
1195 phoenix::tag::catch_all
1196 , proto::basic_default_domain
1197 , Expr
1198 >::type
1199 catch_expr;
1200 typedef phoenix::expression::try_catch<
1201 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type
1202 , catch_expr> gen_type;
1203 typedef typename gen_type::type type;
1204 static type
1205 make(
1206 TryCatch const& try_catch
1207 , Expr const& catch_
1208 )
1209 {
1210 return
1211 gen_type::make(
1212 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch)
1213 , proto::make_expr<
1214 phoenix::tag::catch_all
1215 , proto::basic_default_domain
1216 >(catch_)
1217 );
1218 }
1219 };
1220
1221
1222
1223
1224
1225
1226
1227 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1228 struct catch_push_back<TryCatch, Exception, Capture, Expr, 14>
1229 {
1230 typedef
1231 typename proto::result_of::make_expr<
1232 phoenix::tag::catch_
1233 , proto::basic_default_domain
1234 , catch_exception<Exception>
1235 , Capture
1236 , Expr
1237 >::type
1238 catch_expr;
1239 typedef phoenix::expression::try_catch<
1240 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
1241 , catch_expr> gen_type;
1242 typedef typename gen_type::type type;
1243 static type
1244 make(
1245 TryCatch const& try_catch
1246 , Capture const& capture
1247 , Expr const& catch_
1248 )
1249 {
1250 return
1251 gen_type::make(
1252 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
1253 , proto::make_expr<
1254 phoenix::tag::catch_
1255 , proto::basic_default_domain
1256 >(catch_exception<Exception>(), capture, catch_)
1257 );
1258 }
1259 };
1260 template <typename TryCatch, typename Exception, typename Expr>
1261 struct catch_push_back<TryCatch, Exception, void, Expr, 14>
1262 {
1263 typedef
1264 typename proto::result_of::make_expr<
1265 phoenix::tag::catch_
1266 , proto::basic_default_domain
1267 , catch_exception<Exception>
1268 , Expr
1269 >::type
1270 catch_expr;
1271 typedef phoenix::expression::try_catch<
1272 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
1273 , catch_expr> gen_type;
1274 typedef typename gen_type::type type;
1275 static type
1276 make(
1277 TryCatch const& try_catch
1278 , Expr const& catch_
1279 )
1280 {
1281 return
1282 gen_type::make(
1283 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
1284 , proto::make_expr<
1285 phoenix::tag::catch_
1286 , proto::basic_default_domain
1287 >(catch_exception<Exception>(), catch_)
1288 );
1289 }
1290 };
1291 template <typename TryCatch, typename Expr>
1292 struct catch_all_push_back<TryCatch, Expr, 14>
1293 {
1294 typedef
1295 typename proto::result_of::make_expr<
1296 phoenix::tag::catch_all
1297 , proto::basic_default_domain
1298 , Expr
1299 >::type
1300 catch_expr;
1301 typedef phoenix::expression::try_catch<
1302 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type
1303 , catch_expr> gen_type;
1304 typedef typename gen_type::type type;
1305 static type
1306 make(
1307 TryCatch const& try_catch
1308 , Expr const& catch_
1309 )
1310 {
1311 return
1312 gen_type::make(
1313 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch)
1314 , proto::make_expr<
1315 phoenix::tag::catch_all
1316 , proto::basic_default_domain
1317 >(catch_)
1318 );
1319 }
1320 };
1321
1322
1323
1324
1325
1326
1327
1328 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1329 struct catch_push_back<TryCatch, Exception, Capture, Expr, 15>
1330 {
1331 typedef
1332 typename proto::result_of::make_expr<
1333 phoenix::tag::catch_
1334 , proto::basic_default_domain
1335 , catch_exception<Exception>
1336 , Capture
1337 , Expr
1338 >::type
1339 catch_expr;
1340 typedef phoenix::expression::try_catch<
1341 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
1342 , catch_expr> gen_type;
1343 typedef typename gen_type::type type;
1344 static type
1345 make(
1346 TryCatch const& try_catch
1347 , Capture const& capture
1348 , Expr const& catch_
1349 )
1350 {
1351 return
1352 gen_type::make(
1353 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
1354 , proto::make_expr<
1355 phoenix::tag::catch_
1356 , proto::basic_default_domain
1357 >(catch_exception<Exception>(), capture, catch_)
1358 );
1359 }
1360 };
1361 template <typename TryCatch, typename Exception, typename Expr>
1362 struct catch_push_back<TryCatch, Exception, void, Expr, 15>
1363 {
1364 typedef
1365 typename proto::result_of::make_expr<
1366 phoenix::tag::catch_
1367 , proto::basic_default_domain
1368 , catch_exception<Exception>
1369 , Expr
1370 >::type
1371 catch_expr;
1372 typedef phoenix::expression::try_catch<
1373 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
1374 , catch_expr> gen_type;
1375 typedef typename gen_type::type type;
1376 static type
1377 make(
1378 TryCatch const& try_catch
1379 , Expr const& catch_
1380 )
1381 {
1382 return
1383 gen_type::make(
1384 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
1385 , proto::make_expr<
1386 phoenix::tag::catch_
1387 , proto::basic_default_domain
1388 >(catch_exception<Exception>(), catch_)
1389 );
1390 }
1391 };
1392 template <typename TryCatch, typename Expr>
1393 struct catch_all_push_back<TryCatch, Expr, 15>
1394 {
1395 typedef
1396 typename proto::result_of::make_expr<
1397 phoenix::tag::catch_all
1398 , proto::basic_default_domain
1399 , Expr
1400 >::type
1401 catch_expr;
1402 typedef phoenix::expression::try_catch<
1403 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type
1404 , catch_expr> gen_type;
1405 typedef typename gen_type::type type;
1406 static type
1407 make(
1408 TryCatch const& try_catch
1409 , Expr const& catch_
1410 )
1411 {
1412 return
1413 gen_type::make(
1414 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch)
1415 , proto::make_expr<
1416 phoenix::tag::catch_all
1417 , proto::basic_default_domain
1418 >(catch_)
1419 );
1420 }
1421 };
1422
1423
1424
1425
1426
1427
1428
1429 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1430 struct catch_push_back<TryCatch, Exception, Capture, Expr, 16>
1431 {
1432 typedef
1433 typename proto::result_of::make_expr<
1434 phoenix::tag::catch_
1435 , proto::basic_default_domain
1436 , catch_exception<Exception>
1437 , Capture
1438 , Expr
1439 >::type
1440 catch_expr;
1441 typedef phoenix::expression::try_catch<
1442 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
1443 , catch_expr> gen_type;
1444 typedef typename gen_type::type type;
1445 static type
1446 make(
1447 TryCatch const& try_catch
1448 , Capture const& capture
1449 , Expr const& catch_
1450 )
1451 {
1452 return
1453 gen_type::make(
1454 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
1455 , proto::make_expr<
1456 phoenix::tag::catch_
1457 , proto::basic_default_domain
1458 >(catch_exception<Exception>(), capture, catch_)
1459 );
1460 }
1461 };
1462 template <typename TryCatch, typename Exception, typename Expr>
1463 struct catch_push_back<TryCatch, Exception, void, Expr, 16>
1464 {
1465 typedef
1466 typename proto::result_of::make_expr<
1467 phoenix::tag::catch_
1468 , proto::basic_default_domain
1469 , catch_exception<Exception>
1470 , Expr
1471 >::type
1472 catch_expr;
1473 typedef phoenix::expression::try_catch<
1474 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
1475 , catch_expr> gen_type;
1476 typedef typename gen_type::type type;
1477 static type
1478 make(
1479 TryCatch const& try_catch
1480 , Expr const& catch_
1481 )
1482 {
1483 return
1484 gen_type::make(
1485 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
1486 , proto::make_expr<
1487 phoenix::tag::catch_
1488 , proto::basic_default_domain
1489 >(catch_exception<Exception>(), catch_)
1490 );
1491 }
1492 };
1493 template <typename TryCatch, typename Expr>
1494 struct catch_all_push_back<TryCatch, Expr, 16>
1495 {
1496 typedef
1497 typename proto::result_of::make_expr<
1498 phoenix::tag::catch_all
1499 , proto::basic_default_domain
1500 , Expr
1501 >::type
1502 catch_expr;
1503 typedef phoenix::expression::try_catch<
1504 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type
1505 , catch_expr> gen_type;
1506 typedef typename gen_type::type type;
1507 static type
1508 make(
1509 TryCatch const& try_catch
1510 , Expr const& catch_
1511 )
1512 {
1513 return
1514 gen_type::make(
1515 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch)
1516 , proto::make_expr<
1517 phoenix::tag::catch_all
1518 , proto::basic_default_domain
1519 >(catch_)
1520 );
1521 }
1522 };
1523
1524
1525
1526
1527
1528
1529
1530 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1531 struct catch_push_back<TryCatch, Exception, Capture, Expr, 17>
1532 {
1533 typedef
1534 typename proto::result_of::make_expr<
1535 phoenix::tag::catch_
1536 , proto::basic_default_domain
1537 , catch_exception<Exception>
1538 , Capture
1539 , Expr
1540 >::type
1541 catch_expr;
1542 typedef phoenix::expression::try_catch<
1543 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
1544 , catch_expr> gen_type;
1545 typedef typename gen_type::type type;
1546 static type
1547 make(
1548 TryCatch const& try_catch
1549 , Capture const& capture
1550 , Expr const& catch_
1551 )
1552 {
1553 return
1554 gen_type::make(
1555 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
1556 , proto::make_expr<
1557 phoenix::tag::catch_
1558 , proto::basic_default_domain
1559 >(catch_exception<Exception>(), capture, catch_)
1560 );
1561 }
1562 };
1563 template <typename TryCatch, typename Exception, typename Expr>
1564 struct catch_push_back<TryCatch, Exception, void, Expr, 17>
1565 {
1566 typedef
1567 typename proto::result_of::make_expr<
1568 phoenix::tag::catch_
1569 , proto::basic_default_domain
1570 , catch_exception<Exception>
1571 , Expr
1572 >::type
1573 catch_expr;
1574 typedef phoenix::expression::try_catch<
1575 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
1576 , catch_expr> gen_type;
1577 typedef typename gen_type::type type;
1578 static type
1579 make(
1580 TryCatch const& try_catch
1581 , Expr const& catch_
1582 )
1583 {
1584 return
1585 gen_type::make(
1586 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
1587 , proto::make_expr<
1588 phoenix::tag::catch_
1589 , proto::basic_default_domain
1590 >(catch_exception<Exception>(), catch_)
1591 );
1592 }
1593 };
1594 template <typename TryCatch, typename Expr>
1595 struct catch_all_push_back<TryCatch, Expr, 17>
1596 {
1597 typedef
1598 typename proto::result_of::make_expr<
1599 phoenix::tag::catch_all
1600 , proto::basic_default_domain
1601 , Expr
1602 >::type
1603 catch_expr;
1604 typedef phoenix::expression::try_catch<
1605 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type
1606 , catch_expr> gen_type;
1607 typedef typename gen_type::type type;
1608 static type
1609 make(
1610 TryCatch const& try_catch
1611 , Expr const& catch_
1612 )
1613 {
1614 return
1615 gen_type::make(
1616 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch)
1617 , proto::make_expr<
1618 phoenix::tag::catch_all
1619 , proto::basic_default_domain
1620 >(catch_)
1621 );
1622 }
1623 };
1624
1625
1626
1627
1628
1629
1630
1631 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1632 struct catch_push_back<TryCatch, Exception, Capture, Expr, 18>
1633 {
1634 typedef
1635 typename proto::result_of::make_expr<
1636 phoenix::tag::catch_
1637 , proto::basic_default_domain
1638 , catch_exception<Exception>
1639 , Capture
1640 , Expr
1641 >::type
1642 catch_expr;
1643 typedef phoenix::expression::try_catch<
1644 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
1645 , catch_expr> gen_type;
1646 typedef typename gen_type::type type;
1647 static type
1648 make(
1649 TryCatch const& try_catch
1650 , Capture const& capture
1651 , Expr const& catch_
1652 )
1653 {
1654 return
1655 gen_type::make(
1656 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
1657 , proto::make_expr<
1658 phoenix::tag::catch_
1659 , proto::basic_default_domain
1660 >(catch_exception<Exception>(), capture, catch_)
1661 );
1662 }
1663 };
1664 template <typename TryCatch, typename Exception, typename Expr>
1665 struct catch_push_back<TryCatch, Exception, void, Expr, 18>
1666 {
1667 typedef
1668 typename proto::result_of::make_expr<
1669 phoenix::tag::catch_
1670 , proto::basic_default_domain
1671 , catch_exception<Exception>
1672 , Expr
1673 >::type
1674 catch_expr;
1675 typedef phoenix::expression::try_catch<
1676 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
1677 , catch_expr> gen_type;
1678 typedef typename gen_type::type type;
1679 static type
1680 make(
1681 TryCatch const& try_catch
1682 , Expr const& catch_
1683 )
1684 {
1685 return
1686 gen_type::make(
1687 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
1688 , proto::make_expr<
1689 phoenix::tag::catch_
1690 , proto::basic_default_domain
1691 >(catch_exception<Exception>(), catch_)
1692 );
1693 }
1694 };
1695 template <typename TryCatch, typename Expr>
1696 struct catch_all_push_back<TryCatch, Expr, 18>
1697 {
1698 typedef
1699 typename proto::result_of::make_expr<
1700 phoenix::tag::catch_all
1701 , proto::basic_default_domain
1702 , Expr
1703 >::type
1704 catch_expr;
1705 typedef phoenix::expression::try_catch<
1706 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type
1707 , catch_expr> gen_type;
1708 typedef typename gen_type::type type;
1709 static type
1710 make(
1711 TryCatch const& try_catch
1712 , Expr const& catch_
1713 )
1714 {
1715 return
1716 gen_type::make(
1717 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch)
1718 , proto::make_expr<
1719 phoenix::tag::catch_all
1720 , proto::basic_default_domain
1721 >(catch_)
1722 );
1723 }
1724 };
1725
1726
1727
1728
1729
1730
1731
1732 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1733 struct catch_push_back<TryCatch, Exception, Capture, Expr, 19>
1734 {
1735 typedef
1736 typename proto::result_of::make_expr<
1737 phoenix::tag::catch_
1738 , proto::basic_default_domain
1739 , catch_exception<Exception>
1740 , Capture
1741 , Expr
1742 >::type
1743 catch_expr;
1744 typedef phoenix::expression::try_catch<
1745 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
1746 , catch_expr> gen_type;
1747 typedef typename gen_type::type type;
1748 static type
1749 make(
1750 TryCatch const& try_catch
1751 , Capture const& capture
1752 , Expr const& catch_
1753 )
1754 {
1755 return
1756 gen_type::make(
1757 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
1758 , proto::make_expr<
1759 phoenix::tag::catch_
1760 , proto::basic_default_domain
1761 >(catch_exception<Exception>(), capture, catch_)
1762 );
1763 }
1764 };
1765 template <typename TryCatch, typename Exception, typename Expr>
1766 struct catch_push_back<TryCatch, Exception, void, Expr, 19>
1767 {
1768 typedef
1769 typename proto::result_of::make_expr<
1770 phoenix::tag::catch_
1771 , proto::basic_default_domain
1772 , catch_exception<Exception>
1773 , Expr
1774 >::type
1775 catch_expr;
1776 typedef phoenix::expression::try_catch<
1777 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
1778 , catch_expr> gen_type;
1779 typedef typename gen_type::type type;
1780 static type
1781 make(
1782 TryCatch const& try_catch
1783 , Expr const& catch_
1784 )
1785 {
1786 return
1787 gen_type::make(
1788 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
1789 , proto::make_expr<
1790 phoenix::tag::catch_
1791 , proto::basic_default_domain
1792 >(catch_exception<Exception>(), catch_)
1793 );
1794 }
1795 };
1796 template <typename TryCatch, typename Expr>
1797 struct catch_all_push_back<TryCatch, Expr, 19>
1798 {
1799 typedef
1800 typename proto::result_of::make_expr<
1801 phoenix::tag::catch_all
1802 , proto::basic_default_domain
1803 , Expr
1804 >::type
1805 catch_expr;
1806 typedef phoenix::expression::try_catch<
1807 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type
1808 , catch_expr> gen_type;
1809 typedef typename gen_type::type type;
1810 static type
1811 make(
1812 TryCatch const& try_catch
1813 , Expr const& catch_
1814 )
1815 {
1816 return
1817 gen_type::make(
1818 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch)
1819 , proto::make_expr<
1820 phoenix::tag::catch_all
1821 , proto::basic_default_domain
1822 >(catch_)
1823 );
1824 }
1825 };
1826
1827
1828
1829
1830
1831
1832
1833 template <typename TryCatch, typename Exception, typename Capture, typename Expr>
1834 struct catch_push_back<TryCatch, Exception, Capture, Expr, 20>
1835 {
1836 typedef
1837 typename proto::result_of::make_expr<
1838 phoenix::tag::catch_
1839 , proto::basic_default_domain
1840 , catch_exception<Exception>
1841 , Capture
1842 , Expr
1843 >::type
1844 catch_expr;
1845 typedef phoenix::expression::try_catch<
1846 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
1847 , catch_expr> gen_type;
1848 typedef typename gen_type::type type;
1849 static type
1850 make(
1851 TryCatch const& try_catch
1852 , Capture const& capture
1853 , Expr const& catch_
1854 )
1855 {
1856 return
1857 gen_type::make(
1858 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
1859 , proto::make_expr<
1860 phoenix::tag::catch_
1861 , proto::basic_default_domain
1862 >(catch_exception<Exception>(), capture, catch_)
1863 );
1864 }
1865 };
1866 template <typename TryCatch, typename Exception, typename Expr>
1867 struct catch_push_back<TryCatch, Exception, void, Expr, 20>
1868 {
1869 typedef
1870 typename proto::result_of::make_expr<
1871 phoenix::tag::catch_
1872 , proto::basic_default_domain
1873 , catch_exception<Exception>
1874 , Expr
1875 >::type
1876 catch_expr;
1877 typedef phoenix::expression::try_catch<
1878 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
1879 , catch_expr> gen_type;
1880 typedef typename gen_type::type type;
1881 static type
1882 make(
1883 TryCatch const& try_catch
1884 , Expr const& catch_
1885 )
1886 {
1887 return
1888 gen_type::make(
1889 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
1890 , proto::make_expr<
1891 phoenix::tag::catch_
1892 , proto::basic_default_domain
1893 >(catch_exception<Exception>(), catch_)
1894 );
1895 }
1896 };
1897 template <typename TryCatch, typename Expr>
1898 struct catch_all_push_back<TryCatch, Expr, 20>
1899 {
1900 typedef
1901 typename proto::result_of::make_expr<
1902 phoenix::tag::catch_all
1903 , proto::basic_default_domain
1904 , Expr
1905 >::type
1906 catch_expr;
1907 typedef phoenix::expression::try_catch<
1908 typename proto::result_of::child_c<TryCatch, 0>::type , typename proto::result_of::child_c<TryCatch, 1>::type , typename proto::result_of::child_c<TryCatch, 2>::type , typename proto::result_of::child_c<TryCatch, 3>::type , typename proto::result_of::child_c<TryCatch, 4>::type , typename proto::result_of::child_c<TryCatch, 5>::type , typename proto::result_of::child_c<TryCatch, 6>::type , typename proto::result_of::child_c<TryCatch, 7>::type , typename proto::result_of::child_c<TryCatch, 8>::type , typename proto::result_of::child_c<TryCatch, 9>::type , typename proto::result_of::child_c<TryCatch, 10>::type , typename proto::result_of::child_c<TryCatch, 11>::type , typename proto::result_of::child_c<TryCatch, 12>::type , typename proto::result_of::child_c<TryCatch, 13>::type , typename proto::result_of::child_c<TryCatch, 14>::type , typename proto::result_of::child_c<TryCatch, 15>::type , typename proto::result_of::child_c<TryCatch, 16>::type , typename proto::result_of::child_c<TryCatch, 17>::type , typename proto::result_of::child_c<TryCatch, 18>::type , typename proto::result_of::child_c<TryCatch, 19>::type
1909 , catch_expr> gen_type;
1910 typedef typename gen_type::type type;
1911 static type
1912 make(
1913 TryCatch const& try_catch
1914 , Expr const& catch_
1915 )
1916 {
1917 return
1918 gen_type::make(
1919 proto::child_c< 0>(try_catch) , proto::child_c< 1>(try_catch) , proto::child_c< 2>(try_catch) , proto::child_c< 3>(try_catch) , proto::child_c< 4>(try_catch) , proto::child_c< 5>(try_catch) , proto::child_c< 6>(try_catch) , proto::child_c< 7>(try_catch) , proto::child_c< 8>(try_catch) , proto::child_c< 9>(try_catch) , proto::child_c< 10>(try_catch) , proto::child_c< 11>(try_catch) , proto::child_c< 12>(try_catch) , proto::child_c< 13>(try_catch) , proto::child_c< 14>(try_catch) , proto::child_c< 15>(try_catch) , proto::child_c< 16>(try_catch) , proto::child_c< 17>(try_catch) , proto::child_c< 18>(try_catch) , proto::child_c< 19>(try_catch)
1920 , proto::make_expr<
1921 phoenix::tag::catch_all
1922 , proto::basic_default_domain
1923 >(catch_)
1924 );
1925 }
1926 };
1927