File indexing completed on 2025-01-18 09:46:33
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