| 648 | | /*---------------------------------------------------------------------*/ |
|---|
| 649 | | /* EvalSwitch */ |
|---|
| 650 | | |
|---|
| 651 | | /* 1 Case Statement ---------------------------------------------------*/ |
|---|
| 652 | | |
|---|
| 653 | | template <bool CondB0, class MetaFuncT0, class MetaFuncDefaultT> |
|---|
| 654 | | struct EvalSwitch1; |
|---|
| 655 | | |
|---|
| 656 | | template <class MetaFuncT0, class MetaFuncDefaultT> |
|---|
| 657 | | struct EvalSwitch1<true, MetaFuncT0, MetaFuncDefaultT> |
|---|
| 658 | | : public MetaFuncT0 |
|---|
| 659 | | { |
|---|
| 660 | | }; |
|---|
| 661 | | |
|---|
| 662 | | template <class MetaFuncT0, class MetaFuncDefaultT> |
|---|
| 663 | | struct EvalSwitch1<false, MetaFuncT0, MetaFuncDefaultT> |
|---|
| 664 | | : public MetaFuncDefaultT |
|---|
| 665 | | { |
|---|
| 666 | | }; |
|---|
| 667 | | |
|---|
| 668 | | /* 2 Case Statements --------------------------------------------------*/ |
|---|
| 669 | | |
|---|
| 670 | | template <bool CondB0, class MetaFuncT0, |
|---|
| 671 | | bool CondB1, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| 672 | | struct EvalSwitch2; |
|---|
| 673 | | |
|---|
| 674 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| 675 | | struct EvalSwitch2<true, MetaFuncT0, |
|---|
| 676 | | false, MetaFuncT1, MetaFuncDefaultT> |
|---|
| 677 | | : public MetaFuncT0 |
|---|
| 678 | | { |
|---|
| 679 | | }; |
|---|
| 680 | | |
|---|
| 681 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| 682 | | struct EvalSwitch2<false, MetaFuncT0, |
|---|
| 683 | | true, MetaFuncT1, MetaFuncDefaultT> |
|---|
| 684 | | : public MetaFuncT1 |
|---|
| 685 | | { |
|---|
| 686 | | }; |
|---|
| 687 | | |
|---|
| 688 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| 689 | | struct EvalSwitch2<false, MetaFuncT0, |
|---|
| 690 | | false, MetaFuncT1, MetaFuncDefaultT> |
|---|
| 691 | | : public MetaFuncDefaultT |
|---|
| 692 | | { |
|---|
| 693 | | }; |
|---|
| 694 | | |
|---|
| 695 | | /* 3 Case Statements --------------------------------------------------*/ |
|---|
| 696 | | |
|---|
| 697 | | template <bool CondB0, class MetaFuncT0, |
|---|
| 698 | | bool CondB1, class MetaFuncT1, |
|---|
| 699 | | bool CondB2, class MetaFuncT2, class MetaFuncDefaultT> |
|---|
| 700 | | struct EvalSwitch3; |
|---|
| 701 | | |
|---|
| 702 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 703 | | class MetaFuncDefaultT> |
|---|
| 704 | | struct EvalSwitch3<true, MetaFuncT0, |
|---|
| 705 | | false, MetaFuncT1, |
|---|
| 706 | | false, MetaFuncT2, MetaFuncDefaultT> |
|---|
| 707 | | : public MetaFuncT0 |
|---|
| 708 | | { |
|---|
| 709 | | }; |
|---|
| 710 | | |
|---|
| 711 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 712 | | class MetaFuncDefaultT> |
|---|
| 713 | | struct EvalSwitch3<false, MetaFuncT0, |
|---|
| 714 | | true, MetaFuncT1, |
|---|
| 715 | | false, MetaFuncT2, MetaFuncDefaultT> |
|---|
| 716 | | : public MetaFuncT1 |
|---|
| 717 | | { |
|---|
| 718 | | }; |
|---|
| 719 | | |
|---|
| 720 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 721 | | class MetaFuncDefaultT> |
|---|
| 722 | | struct EvalSwitch3<false, MetaFuncT0, |
|---|
| 723 | | false, MetaFuncT1, |
|---|
| 724 | | true, MetaFuncT2, MetaFuncDefaultT> |
|---|
| 725 | | : public MetaFuncT2 |
|---|
| 726 | | { |
|---|
| 727 | | }; |
|---|
| 728 | | |
|---|
| 729 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 730 | | class MetaFuncDefaultT> |
|---|
| 731 | | struct EvalSwitch3<false, MetaFuncT0, |
|---|
| 732 | | false, MetaFuncT1, |
|---|
| 733 | | false, MetaFuncT2, MetaFuncDefaultT> |
|---|
| 734 | | : public MetaFuncDefaultT |
|---|
| 735 | | { |
|---|
| 736 | | }; |
|---|
| 737 | | |
|---|
| 738 | | /* 4 Case Statements --------------------------------------------------*/ |
|---|
| 739 | | |
|---|
| 740 | | template <bool CondB0, class MetaFuncT0, |
|---|
| 741 | | bool CondB1, class MetaFuncT1, |
|---|
| 742 | | bool CondB2, class MetaFuncT2, |
|---|
| 743 | | bool CondB3, class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| 744 | | struct EvalSwitch4; |
|---|
| 745 | | |
|---|
| 746 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 747 | | class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| 748 | | struct EvalSwitch4<true, MetaFuncT0, |
|---|
| 749 | | false, MetaFuncT1, |
|---|
| 750 | | false, MetaFuncT2, |
|---|
| 751 | | false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| 752 | | : public MetaFuncT0 |
|---|
| 753 | | { |
|---|
| 754 | | }; |
|---|
| 755 | | |
|---|
| 756 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 757 | | class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| 758 | | struct EvalSwitch4<false, MetaFuncT0, |
|---|
| 759 | | true, MetaFuncT1, |
|---|
| 760 | | false, MetaFuncT2, |
|---|
| 761 | | false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| 762 | | : public MetaFuncT1 |
|---|
| 763 | | { |
|---|
| 764 | | }; |
|---|
| 765 | | |
|---|
| 766 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 767 | | class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| 768 | | struct EvalSwitch4<false, MetaFuncT0, |
|---|
| 769 | | false, MetaFuncT1, |
|---|
| 770 | | true, MetaFuncT2, |
|---|
| 771 | | false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| 772 | | : public MetaFuncT2 |
|---|
| 773 | | { |
|---|
| 774 | | }; |
|---|
| 775 | | |
|---|
| 776 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 777 | | class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| 778 | | struct EvalSwitch4<false, MetaFuncT0, |
|---|
| 779 | | false, MetaFuncT1, |
|---|
| 780 | | false, MetaFuncT2, |
|---|
| 781 | | true, MetaFuncT3, MetaFuncDefaultT> |
|---|
| 782 | | : public MetaFuncT3 |
|---|
| 783 | | { |
|---|
| 784 | | }; |
|---|
| 785 | | |
|---|
| 786 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 787 | | class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| 788 | | struct EvalSwitch4<false, MetaFuncT0, |
|---|
| 789 | | false, MetaFuncT1, |
|---|
| 790 | | false, MetaFuncT2, |
|---|
| 791 | | false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| 792 | | : public MetaFuncDefaultT |
|---|
| 793 | | { |
|---|
| 794 | | }; |
|---|
| 795 | | |
|---|
| 796 | | /* 5 Case Statements --------------------------------------------------*/ |
|---|
| 797 | | |
|---|
| 798 | | template <bool CondB0, class MetaFuncT0, |
|---|
| 799 | | bool CondB1, class MetaFuncT1, |
|---|
| 800 | | bool CondB2, class MetaFuncT2, |
|---|
| 801 | | bool CondB3, class MetaFuncT3, |
|---|
| 802 | | bool CondB4, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 803 | | struct EvalSwitch5; |
|---|
| 804 | | |
|---|
| 805 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 806 | | class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 807 | | struct EvalSwitch5<true, MetaFuncT0, |
|---|
| 808 | | false, MetaFuncT1, |
|---|
| 809 | | false, MetaFuncT2, |
|---|
| 810 | | false, MetaFuncT3, |
|---|
| 811 | | false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| 812 | | : public MetaFuncT0 |
|---|
| 813 | | { |
|---|
| 814 | | }; |
|---|
| 815 | | |
|---|
| 816 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 817 | | class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 818 | | struct EvalSwitch5<false, MetaFuncT0, |
|---|
| 819 | | true, MetaFuncT1, |
|---|
| 820 | | false, MetaFuncT2, |
|---|
| 821 | | false, MetaFuncT3, |
|---|
| 822 | | false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| 823 | | : public MetaFuncT1 |
|---|
| 824 | | { |
|---|
| 825 | | }; |
|---|
| 826 | | |
|---|
| 827 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 828 | | class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 829 | | struct EvalSwitch5<false, MetaFuncT0, |
|---|
| 830 | | false, MetaFuncT1, |
|---|
| 831 | | true, MetaFuncT2, |
|---|
| 832 | | false, MetaFuncT3, |
|---|
| 833 | | false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| 834 | | : public MetaFuncT2 |
|---|
| 835 | | { |
|---|
| 836 | | }; |
|---|
| 837 | | |
|---|
| 838 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 839 | | class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 840 | | struct EvalSwitch5<false, MetaFuncT0, |
|---|
| 841 | | false, MetaFuncT1, |
|---|
| 842 | | false, MetaFuncT2, |
|---|
| 843 | | true, MetaFuncT3, |
|---|
| 844 | | false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| 845 | | : public MetaFuncT3 |
|---|
| 846 | | { |
|---|
| 847 | | }; |
|---|
| 848 | | |
|---|
| 849 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 850 | | class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 851 | | struct EvalSwitch5<false, MetaFuncT0, |
|---|
| 852 | | false, MetaFuncT1, |
|---|
| 853 | | false, MetaFuncT2, |
|---|
| 854 | | false, MetaFuncT3, |
|---|
| 855 | | true, MetaFuncT4, MetaFuncDefaultT> |
|---|
| 856 | | : public MetaFuncT4 |
|---|
| 857 | | { |
|---|
| 858 | | }; |
|---|
| 859 | | |
|---|
| 860 | | template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| 861 | | class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| 862 | | struct EvalSwitch5<false, MetaFuncT0, |
|---|
| 863 | | false, MetaFuncT1, |
|---|
| 864 | | false, MetaFuncT2, |
|---|
| 865 | | false, MetaFuncT3, |
|---|
| 866 | | false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| 867 | | : public MetaFuncDefaultT |
|---|
| 868 | | { |
|---|
| 869 | | }; |
|---|
| | 648 | // /*---------------------------------------------------------------------*/ |
|---|
| | 649 | // /* EvalSwitch */ |
|---|
| | 650 | // |
|---|
| | 651 | // /* 1 Case Statement ---------------------------------------------------*/ |
|---|
| | 652 | // |
|---|
| | 653 | // template <bool CondB0, class MetaFuncT0, class MetaFuncDefaultT> |
|---|
| | 654 | // struct EvalSwitch1; |
|---|
| | 655 | // |
|---|
| | 656 | // template <class MetaFuncT0, class MetaFuncDefaultT> |
|---|
| | 657 | // struct EvalSwitch1<true, MetaFuncT0, MetaFuncDefaultT> |
|---|
| | 658 | // : public MetaFuncT0 |
|---|
| | 659 | // { |
|---|
| | 660 | // }; |
|---|
| | 661 | // |
|---|
| | 662 | // template <class MetaFuncT0, class MetaFuncDefaultT> |
|---|
| | 663 | // struct EvalSwitch1<false, MetaFuncT0, MetaFuncDefaultT> |
|---|
| | 664 | // : public MetaFuncDefaultT |
|---|
| | 665 | // { |
|---|
| | 666 | // }; |
|---|
| | 667 | // |
|---|
| | 668 | // /* 2 Case Statements --------------------------------------------------*/ |
|---|
| | 669 | // |
|---|
| | 670 | // template <bool CondB0, class MetaFuncT0, |
|---|
| | 671 | // bool CondB1, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| | 672 | // struct EvalSwitch2; |
|---|
| | 673 | // |
|---|
| | 674 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| | 675 | // struct EvalSwitch2<true, MetaFuncT0, |
|---|
| | 676 | // false, MetaFuncT1, MetaFuncDefaultT> |
|---|
| | 677 | // : public MetaFuncT0 |
|---|
| | 678 | // { |
|---|
| | 679 | // }; |
|---|
| | 680 | // |
|---|
| | 681 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| | 682 | // struct EvalSwitch2<false, MetaFuncT0, |
|---|
| | 683 | // true, MetaFuncT1, MetaFuncDefaultT> |
|---|
| | 684 | // : public MetaFuncT1 |
|---|
| | 685 | // { |
|---|
| | 686 | // }; |
|---|
| | 687 | // |
|---|
| | 688 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> |
|---|
| | 689 | // struct EvalSwitch2<false, MetaFuncT0, |
|---|
| | 690 | // false, MetaFuncT1, MetaFuncDefaultT> |
|---|
| | 691 | // : public MetaFuncDefaultT |
|---|
| | 692 | // { |
|---|
| | 693 | // }; |
|---|
| | 694 | // |
|---|
| | 695 | // /* 3 Case Statements --------------------------------------------------*/ |
|---|
| | 696 | // |
|---|
| | 697 | // template <bool CondB0, class MetaFuncT0, |
|---|
| | 698 | // bool CondB1, class MetaFuncT1, |
|---|
| | 699 | // bool CondB2, class MetaFuncT2, class MetaFuncDefaultT> |
|---|
| | 700 | // struct EvalSwitch3; |
|---|
| | 701 | // |
|---|
| | 702 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 703 | // class MetaFuncDefaultT> |
|---|
| | 704 | // struct EvalSwitch3<true, MetaFuncT0, |
|---|
| | 705 | // false, MetaFuncT1, |
|---|
| | 706 | // false, MetaFuncT2, MetaFuncDefaultT> |
|---|
| | 707 | // : public MetaFuncT0 |
|---|
| | 708 | // { |
|---|
| | 709 | // }; |
|---|
| | 710 | // |
|---|
| | 711 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 712 | // class MetaFuncDefaultT> |
|---|
| | 713 | // struct EvalSwitch3<false, MetaFuncT0, |
|---|
| | 714 | // true, MetaFuncT1, |
|---|
| | 715 | // false, MetaFuncT2, MetaFuncDefaultT> |
|---|
| | 716 | // : public MetaFuncT1 |
|---|
| | 717 | // { |
|---|
| | 718 | // }; |
|---|
| | 719 | // |
|---|
| | 720 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 721 | // class MetaFuncDefaultT> |
|---|
| | 722 | // struct EvalSwitch3<false, MetaFuncT0, |
|---|
| | 723 | // false, MetaFuncT1, |
|---|
| | 724 | // true, MetaFuncT2, MetaFuncDefaultT> |
|---|
| | 725 | // : public MetaFuncT2 |
|---|
| | 726 | // { |
|---|
| | 727 | // }; |
|---|
| | 728 | // |
|---|
| | 729 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 730 | // class MetaFuncDefaultT> |
|---|
| | 731 | // struct EvalSwitch3<false, MetaFuncT0, |
|---|
| | 732 | // false, MetaFuncT1, |
|---|
| | 733 | // false, MetaFuncT2, MetaFuncDefaultT> |
|---|
| | 734 | // : public MetaFuncDefaultT |
|---|
| | 735 | // { |
|---|
| | 736 | // }; |
|---|
| | 737 | // |
|---|
| | 738 | // /* 4 Case Statements --------------------------------------------------*/ |
|---|
| | 739 | // |
|---|
| | 740 | // template <bool CondB0, class MetaFuncT0, |
|---|
| | 741 | // bool CondB1, class MetaFuncT1, |
|---|
| | 742 | // bool CondB2, class MetaFuncT2, |
|---|
| | 743 | // bool CondB3, class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| | 744 | // struct EvalSwitch4; |
|---|
| | 745 | // |
|---|
| | 746 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 747 | // class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| | 748 | // struct EvalSwitch4<true, MetaFuncT0, |
|---|
| | 749 | // false, MetaFuncT1, |
|---|
| | 750 | // false, MetaFuncT2, |
|---|
| | 751 | // false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| | 752 | // : public MetaFuncT0 |
|---|
| | 753 | // { |
|---|
| | 754 | // }; |
|---|
| | 755 | // |
|---|
| | 756 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 757 | // class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| | 758 | // struct EvalSwitch4<false, MetaFuncT0, |
|---|
| | 759 | // true, MetaFuncT1, |
|---|
| | 760 | // false, MetaFuncT2, |
|---|
| | 761 | // false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| | 762 | // : public MetaFuncT1 |
|---|
| | 763 | // { |
|---|
| | 764 | // }; |
|---|
| | 765 | // |
|---|
| | 766 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 767 | // class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| | 768 | // struct EvalSwitch4<false, MetaFuncT0, |
|---|
| | 769 | // false, MetaFuncT1, |
|---|
| | 770 | // true, MetaFuncT2, |
|---|
| | 771 | // false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| | 772 | // : public MetaFuncT2 |
|---|
| | 773 | // { |
|---|
| | 774 | // }; |
|---|
| | 775 | // |
|---|
| | 776 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 777 | // class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| | 778 | // struct EvalSwitch4<false, MetaFuncT0, |
|---|
| | 779 | // false, MetaFuncT1, |
|---|
| | 780 | // false, MetaFuncT2, |
|---|
| | 781 | // true, MetaFuncT3, MetaFuncDefaultT> |
|---|
| | 782 | // : public MetaFuncT3 |
|---|
| | 783 | // { |
|---|
| | 784 | // }; |
|---|
| | 785 | // |
|---|
| | 786 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 787 | // class MetaFuncT3, class MetaFuncDefaultT> |
|---|
| | 788 | // struct EvalSwitch4<false, MetaFuncT0, |
|---|
| | 789 | // false, MetaFuncT1, |
|---|
| | 790 | // false, MetaFuncT2, |
|---|
| | 791 | // false, MetaFuncT3, MetaFuncDefaultT> |
|---|
| | 792 | // : public MetaFuncDefaultT |
|---|
| | 793 | // { |
|---|
| | 794 | // }; |
|---|
| | 795 | // |
|---|
| | 796 | // /* 5 Case Statements --------------------------------------------------*/ |
|---|
| | 797 | // |
|---|
| | 798 | // template <bool CondB0, class MetaFuncT0, |
|---|
| | 799 | // bool CondB1, class MetaFuncT1, |
|---|
| | 800 | // bool CondB2, class MetaFuncT2, |
|---|
| | 801 | // bool CondB3, class MetaFuncT3, |
|---|
| | 802 | // bool CondB4, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 803 | // struct EvalSwitch5; |
|---|
| | 804 | // |
|---|
| | 805 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 806 | // class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 807 | // struct EvalSwitch5<true, MetaFuncT0, |
|---|
| | 808 | // false, MetaFuncT1, |
|---|
| | 809 | // false, MetaFuncT2, |
|---|
| | 810 | // false, MetaFuncT3, |
|---|
| | 811 | // false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| | 812 | // : public MetaFuncT0 |
|---|
| | 813 | // { |
|---|
| | 814 | // }; |
|---|
| | 815 | // |
|---|
| | 816 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 817 | // class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 818 | // struct EvalSwitch5<false, MetaFuncT0, |
|---|
| | 819 | // true, MetaFuncT1, |
|---|
| | 820 | // false, MetaFuncT2, |
|---|
| | 821 | // false, MetaFuncT3, |
|---|
| | 822 | // false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| | 823 | // : public MetaFuncT1 |
|---|
| | 824 | // { |
|---|
| | 825 | // }; |
|---|
| | 826 | // |
|---|
| | 827 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 828 | // class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 829 | // struct EvalSwitch5<false, MetaFuncT0, |
|---|
| | 830 | // false, MetaFuncT1, |
|---|
| | 831 | // true, MetaFuncT2, |
|---|
| | 832 | // false, MetaFuncT3, |
|---|
| | 833 | // false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| | 834 | // : public MetaFuncT2 |
|---|
| | 835 | // { |
|---|
| | 836 | // }; |
|---|
| | 837 | // |
|---|
| | 838 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 839 | // class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 840 | // struct EvalSwitch5<false, MetaFuncT0, |
|---|
| | 841 | // false, MetaFuncT1, |
|---|
| | 842 | // false, MetaFuncT2, |
|---|
| | 843 | // true, MetaFuncT3, |
|---|
| | 844 | // false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| | 845 | // : public MetaFuncT3 |
|---|
| | 846 | // { |
|---|
| | 847 | // }; |
|---|
| | 848 | // |
|---|
| | 849 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 850 | // class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 851 | // struct EvalSwitch5<false, MetaFuncT0, |
|---|
| | 852 | // false, MetaFuncT1, |
|---|
| | 853 | // false, MetaFuncT2, |
|---|
| | 854 | // false, MetaFuncT3, |
|---|
| | 855 | // true, MetaFuncT4, MetaFuncDefaultT> |
|---|
| | 856 | // : public MetaFuncT4 |
|---|
| | 857 | // { |
|---|
| | 858 | // }; |
|---|
| | 859 | // |
|---|
| | 860 | // template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, |
|---|
| | 861 | // class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> |
|---|
| | 862 | // struct EvalSwitch5<false, MetaFuncT0, |
|---|
| | 863 | // false, MetaFuncT1, |
|---|
| | 864 | // false, MetaFuncT2, |
|---|
| | 865 | // false, MetaFuncT3, |
|---|
| | 866 | // false, MetaFuncT4, MetaFuncDefaultT> |
|---|
| | 867 | // : public MetaFuncDefaultT |
|---|
| | 868 | // { |
|---|
| | 869 | // }; |
|---|