1 /*============================================================================== 2 Copyright (c) 2005-2010 Joel de Guzman 3 Copyright (c) 2010 Thomas Heller 4 5 Distributed under the Boost Software License, Version 1.0. (See accompanying 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 ==============================================================================*/ 8 9 10 11 12 13 14 15 template < 16 typename Try 17 18 19 > 20 struct try_catch< 21 Try 22 23 24 > 25 : expr_ext< 26 try_catch_actor 27 , tag::try_catch 28 , Try 29 30 > 31 {}; 32 33 34 35 36 37 38 39 40 template < 41 typename Try 42 , 43 typename A0 44 > 45 struct try_catch< 46 Try 47 , 48 A0 49 > 50 : expr_ext< 51 try_catch_actor 52 , tag::try_catch 53 , Try 54 , A0 55 > 56 {}; 57 58 59 60 61 62 63 64 65 template < 66 typename Try 67 , 68 typename A0 , typename A1 69 > 70 struct try_catch< 71 Try 72 , 73 A0 , A1 74 > 75 : expr_ext< 76 try_catch_actor 77 , tag::try_catch 78 , Try 79 , A0 , A1 80 > 81 {}; 82 83 84 85 86 87 88 89 90 template < 91 typename Try 92 , 93 typename A0 , typename A1 , typename A2 94 > 95 struct try_catch< 96 Try 97 , 98 A0 , A1 , A2 99 > 100 : expr_ext< 101 try_catch_actor 102 , tag::try_catch 103 , Try 104 , A0 , A1 , A2 105 > 106 {}; 107 108 109 110 111 112 113 114 115 template < 116 typename Try 117 , 118 typename A0 , typename A1 , typename A2 , typename A3 119 > 120 struct try_catch< 121 Try 122 , 123 A0 , A1 , A2 , A3 124 > 125 : expr_ext< 126 try_catch_actor 127 , tag::try_catch 128 , Try 129 , A0 , A1 , A2 , A3 130 > 131 {}; 132 133 134 135 136 137 138 139 140 template < 141 typename Try 142 , 143 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 144 > 145 struct try_catch< 146 Try 147 , 148 A0 , A1 , A2 , A3 , A4 149 > 150 : expr_ext< 151 try_catch_actor 152 , tag::try_catch 153 , Try 154 , A0 , A1 , A2 , A3 , A4 155 > 156 {}; 157 158 159 160 161 162 163 164 165 template < 166 typename Try 167 , 168 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 169 > 170 struct try_catch< 171 Try 172 , 173 A0 , A1 , A2 , A3 , A4 , A5 174 > 175 : expr_ext< 176 try_catch_actor 177 , tag::try_catch 178 , Try 179 , A0 , A1 , A2 , A3 , A4 , A5 180 > 181 {}; 182 183 184 185 186 187 188 189 190 template < 191 typename Try 192 , 193 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 194 > 195 struct try_catch< 196 Try 197 , 198 A0 , A1 , A2 , A3 , A4 , A5 , A6 199 > 200 : expr_ext< 201 try_catch_actor 202 , tag::try_catch 203 , Try 204 , A0 , A1 , A2 , A3 , A4 , A5 , A6 205 > 206 {}; 207 208 209 210 211 212 213 214 215 template < 216 typename Try 217 , 218 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 219 > 220 struct try_catch< 221 Try 222 , 223 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 224 > 225 : expr_ext< 226 try_catch_actor 227 , tag::try_catch 228 , Try 229 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 230 > 231 {}; 232 233 234 235 236 237 238 239 240 template < 241 typename Try 242 , 243 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 244 > 245 struct try_catch< 246 Try 247 , 248 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 249 > 250 : expr_ext< 251 try_catch_actor 252 , tag::try_catch 253 , Try 254 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 255 > 256 {}; 257 258 259 260 261 262 263 264 265 template < 266 typename Try 267 , 268 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 269 > 270 struct try_catch< 271 Try 272 , 273 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 274 > 275 : expr_ext< 276 try_catch_actor 277 , tag::try_catch 278 , Try 279 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 280 > 281 {}; 282 283 284 285 286 287 288 289 290 template < 291 typename Try 292 , 293 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 294 > 295 struct try_catch< 296 Try 297 , 298 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 299 > 300 : expr_ext< 301 try_catch_actor 302 , tag::try_catch 303 , Try 304 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 305 > 306 {}; 307 308 309 310 311 312 313 314 315 template < 316 typename Try 317 , 318 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 319 > 320 struct try_catch< 321 Try 322 , 323 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 324 > 325 : expr_ext< 326 try_catch_actor 327 , tag::try_catch 328 , Try 329 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 330 > 331 {}; 332 333 334 335 336 337 338 339 340 template < 341 typename Try 342 , 343 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 344 > 345 struct try_catch< 346 Try 347 , 348 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 349 > 350 : expr_ext< 351 try_catch_actor 352 , tag::try_catch 353 , Try 354 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 355 > 356 {}; 357 358 359 360 361 362 363 364 365 template < 366 typename Try 367 , 368 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 369 > 370 struct try_catch< 371 Try 372 , 373 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 374 > 375 : expr_ext< 376 try_catch_actor 377 , tag::try_catch 378 , Try 379 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 380 > 381 {}; 382 383 384 385 386 387 388 389 390 template < 391 typename Try 392 , 393 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 394 > 395 struct try_catch< 396 Try 397 , 398 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 399 > 400 : expr_ext< 401 try_catch_actor 402 , tag::try_catch 403 , Try 404 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 405 > 406 {}; 407 408 409 410 411 412 413 414 415 template < 416 typename Try 417 , 418 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 419 > 420 struct try_catch< 421 Try 422 , 423 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 424 > 425 : expr_ext< 426 try_catch_actor 427 , tag::try_catch 428 , Try 429 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 430 > 431 {}; 432 433 434 435 436 437 438 439 440 template < 441 typename Try 442 , 443 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 444 > 445 struct try_catch< 446 Try 447 , 448 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 449 > 450 : expr_ext< 451 try_catch_actor 452 , tag::try_catch 453 , Try 454 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 455 > 456 {}; 457 458 459 460 461 462 463 464 465 template < 466 typename Try 467 , 468 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 469 > 470 struct try_catch< 471 Try 472 , 473 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 474 > 475 : expr_ext< 476 try_catch_actor 477 , tag::try_catch 478 , Try 479 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 480 > 481 {}; 482 483 484 485 486 487 488 489 490 template < 491 typename Try 492 , 493 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 494 > 495 struct try_catch< 496 Try 497 , 498 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 499 > 500 : expr_ext< 501 try_catch_actor 502 , tag::try_catch 503 , Try 504 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 505 > 506 {}; 507 508 509 510 511 512 513 514 515 template < 516 typename Try 517 , 518 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 519 > 520 struct try_catch< 521 Try 522 , 523 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 524 > 525 : expr_ext< 526 try_catch_actor 527 , tag::try_catch 528 , Try 529 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 530 > 531 {}; 532 533 534 535 536 537 538 539 540 template < 541 typename Try 542 , 543 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 544 > 545 struct try_catch< 546 Try 547 , 548 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 549 > 550 : expr_ext< 551 try_catch_actor 552 , tag::try_catch 553 , Try 554 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 555 > 556 {}; 557 558 559 560 561 562 563 564 565 template < 566 typename Try 567 , 568 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 569 > 570 struct try_catch< 571 Try 572 , 573 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 574 > 575 : expr_ext< 576 try_catch_actor 577 , tag::try_catch 578 , Try 579 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 580 > 581 {}; 582 583 584 585 586 587 588 589 590 template < 591 typename Try 592 , 593 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 594 > 595 struct try_catch< 596 Try 597 , 598 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 599 > 600 : expr_ext< 601 try_catch_actor 602 , tag::try_catch 603 , Try 604 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 605 > 606 {}; 607 608 609 610 611 612 613 614 615 template < 616 typename Try 617 , 618 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 619 > 620 struct try_catch< 621 Try 622 , 623 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 624 > 625 : expr_ext< 626 try_catch_actor 627 , tag::try_catch 628 , Try 629 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 630 > 631 {}; 632 633 634 635 636 637 638 639 640 template < 641 typename Try 642 , 643 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 644 > 645 struct try_catch< 646 Try 647 , 648 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 649 > 650 : expr_ext< 651 try_catch_actor 652 , tag::try_catch 653 , Try 654 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 655 > 656 {}; 657 658 659 660 661 662 663 664 665 template < 666 typename Try 667 , 668 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 669 > 670 struct try_catch< 671 Try 672 , 673 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 674 > 675 : expr_ext< 676 try_catch_actor 677 , tag::try_catch 678 , Try 679 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 680 > 681 {}; 682 683 684 685 686 687 688 689 690 template < 691 typename Try 692 , 693 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 694 > 695 struct try_catch< 696 Try 697 , 698 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 699 > 700 : expr_ext< 701 try_catch_actor 702 , tag::try_catch 703 , Try 704 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 705 > 706 {}; 707 708 709 710 711 712 713 714 715 template < 716 typename Try 717 , 718 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 719 > 720 struct try_catch< 721 Try 722 , 723 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 724 > 725 : expr_ext< 726 try_catch_actor 727 , tag::try_catch 728 , Try 729 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 730 > 731 {}; 732 733 734 735 736 737 738 739 740 template < 741 typename Try 742 , 743 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 744 > 745 struct try_catch< 746 Try 747 , 748 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 749 > 750 : expr_ext< 751 try_catch_actor 752 , tag::try_catch 753 , Try 754 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 755 > 756 {}; 757 758 759 760 761 762 763 764 765 template < 766 typename Try 767 , 768 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 769 > 770 struct try_catch< 771 Try 772 , 773 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 774 > 775 : expr_ext< 776 try_catch_actor 777 , tag::try_catch 778 , Try 779 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 780 > 781 {}; 782 783 784 785 786 787 788 789 790 template < 791 typename Try 792 , 793 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 794 > 795 struct try_catch< 796 Try 797 , 798 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 799 > 800 : expr_ext< 801 try_catch_actor 802 , tag::try_catch 803 , Try 804 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 805 > 806 {}; 807 808 809 810 811 812 813 814 815 template < 816 typename Try 817 , 818 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 819 > 820 struct try_catch< 821 Try 822 , 823 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 824 > 825 : expr_ext< 826 try_catch_actor 827 , tag::try_catch 828 , Try 829 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 830 > 831 {}; 832 833 834 835 836 837 838 839 840 template < 841 typename Try 842 , 843 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 844 > 845 struct try_catch< 846 Try 847 , 848 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 849 > 850 : expr_ext< 851 try_catch_actor 852 , tag::try_catch 853 , Try 854 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 855 > 856 {}; 857 858 859 860 861 862 863 864 865 template < 866 typename Try 867 , 868 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 869 > 870 struct try_catch< 871 Try 872 , 873 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 874 > 875 : expr_ext< 876 try_catch_actor 877 , tag::try_catch 878 , Try 879 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 880 > 881 {}; 882 883 884 885 886 887 888 889 890 template < 891 typename Try 892 , 893 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 894 > 895 struct try_catch< 896 Try 897 , 898 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 899 > 900 : expr_ext< 901 try_catch_actor 902 , tag::try_catch 903 , Try 904 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 905 > 906 {}; 907 908 909 910 911 912 913 914 915 template < 916 typename Try 917 , 918 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 919 > 920 struct try_catch< 921 Try 922 , 923 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 924 > 925 : expr_ext< 926 try_catch_actor 927 , tag::try_catch 928 , Try 929 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 930 > 931 {}; 932 933 934 935 936 937 938 939 940 template < 941 typename Try 942 , 943 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 944 > 945 struct try_catch< 946 Try 947 , 948 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 949 > 950 : expr_ext< 951 try_catch_actor 952 , tag::try_catch 953 , Try 954 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 955 > 956 {}; 957 958 959 960 961 962 963 964 965 template < 966 typename Try 967 , 968 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 969 > 970 struct try_catch< 971 Try 972 , 973 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 974 > 975 : expr_ext< 976 try_catch_actor 977 , tag::try_catch 978 , Try 979 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 980 > 981 {}; 982 983 984 985 986 987 988 989 990 template < 991 typename Try 992 , 993 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 994 > 995 struct try_catch< 996 Try 997 , 998 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 999 > 1000 : expr_ext< 1001 try_catch_actor 1002 , tag::try_catch 1003 , Try 1004 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 1005 > 1006 {}; 1007 1008 1009 1010 1011 1012 1013 1014 1015 template < 1016 typename Try 1017 , 1018 typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 1019 > 1020 struct try_catch< 1021 Try 1022 , 1023 A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 1024 > 1025 : expr_ext< 1026 try_catch_actor 1027 , tag::try_catch 1028 , Try 1029 , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 1030 > 1031 {}; 1032 1033