diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2012-12-20 00:17:27 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2012-12-20 00:17:27 +0000 |
| commit | 6af2989d3abbe9ff64631df33f9f9e135274d90c (patch) | |
| tree | 99a9d68a12f66820037b02566667ab610cc46a14 | |
| parent | 8ba750c2d52b9db90c8274020c6053a32441ed43 (diff) | |
| download | libbu++-6af2989d3abbe9ff64631df33f9f9e135274d90c.tar.gz libbu++-6af2989d3abbe9ff64631df33f9f9e135274d90c.tar.bz2 libbu++-6af2989d3abbe9ff64631df33f9f9e135274d90c.tar.xz libbu++-6af2989d3abbe9ff64631df33f9f9e135274d90c.zip | |
May as well update the pregen code as well.
Diffstat (limited to '')
| -rw-r--r-- | pregen/signals.h | 518 |
1 files changed, 518 insertions, 0 deletions
diff --git a/pregen/signals.h b/pregen/signals.h index 27364da..e8374e3 100644 --- a/pregen/signals.h +++ b/pregen/signals.h | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | 10 | ||
| 11 | #include "bu/util.h" | 11 | #include "bu/util.h" |
| 12 | #include "bu/exceptionbase.h" | 12 | #include "bu/exceptionbase.h" |
| 13 | #include "bu/list.h" | ||
| 13 | 14 | ||
| 14 | namespace Bu | 15 | namespace Bu |
| 15 | { | 16 | { |
| @@ -121,6 +122,53 @@ namespace Bu | |||
| 121 | new __Slot0F<ret>( pFnc ) | 122 | new __Slot0F<ret>( pFnc ) |
| 122 | ); | 123 | ); |
| 123 | } | 124 | } |
| 125 | |||
| 126 | template<typename ret> | ||
| 127 | class SignalList0 : public Bu::List<Bu::Signal0<ret> > | ||
| 128 | { | ||
| 129 | typedef Bu::List<Bu::Signal0<ret> > MyType; | ||
| 130 | public: | ||
| 131 | SignalList0() | ||
| 132 | { | ||
| 133 | } | ||
| 134 | |||
| 135 | using MyType::iterator; | ||
| 136 | using MyType::const_iterator; | ||
| 137 | |||
| 138 | ret operator()( ) | ||
| 139 | { | ||
| 140 | typename MyType::iterator i, n; | ||
| 141 | for(i = MyType::begin(); i; i=n) | ||
| 142 | { | ||
| 143 | n = i; | ||
| 144 | n++; | ||
| 145 | if( n ) | ||
| 146 | (*i)( ); | ||
| 147 | else | ||
| 148 | return (*i)( ); | ||
| 149 | } | ||
| 150 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 151 | } | ||
| 152 | }; | ||
| 153 | |||
| 154 | template<> | ||
| 155 | class SignalList0<void> : public Bu::List<Bu::Signal0<void> > | ||
| 156 | { | ||
| 157 | typedef Bu::List<Bu::Signal0<void> > MyType; | ||
| 158 | public: | ||
| 159 | SignalList0() | ||
| 160 | { | ||
| 161 | } | ||
| 162 | |||
| 163 | using MyType::iterator; | ||
| 164 | using MyType::const_iterator; | ||
| 165 | |||
| 166 | void operator()( ) | ||
| 167 | { | ||
| 168 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 169 | (*i)( ); | ||
| 170 | } | ||
| 171 | }; | ||
| 124 | #endif // BU_SIGNAL_PARAM_COUNT_0 | 172 | #endif // BU_SIGNAL_PARAM_COUNT_0 |
| 125 | 173 | ||
| 126 | #ifndef BU_SIGNAL_PARAM_COUNT_1 | 174 | #ifndef BU_SIGNAL_PARAM_COUNT_1 |
| @@ -229,6 +277,53 @@ namespace Bu | |||
| 229 | new __Slot1F<ret, p1t>( pFnc ) | 277 | new __Slot1F<ret, p1t>( pFnc ) |
| 230 | ); | 278 | ); |
| 231 | } | 279 | } |
| 280 | |||
| 281 | template<typename ret, typename p1t> | ||
| 282 | class SignalList1 : public Bu::List<Bu::Signal1<ret, p1t> > | ||
| 283 | { | ||
| 284 | typedef Bu::List<Bu::Signal1<ret, p1t> > MyType; | ||
| 285 | public: | ||
| 286 | SignalList1() | ||
| 287 | { | ||
| 288 | } | ||
| 289 | |||
| 290 | using MyType::iterator; | ||
| 291 | using MyType::const_iterator; | ||
| 292 | |||
| 293 | ret operator()( p1t p1 ) | ||
| 294 | { | ||
| 295 | typename MyType::iterator i, n; | ||
| 296 | for(i = MyType::begin(); i; i=n) | ||
| 297 | { | ||
| 298 | n = i; | ||
| 299 | n++; | ||
| 300 | if( n ) | ||
| 301 | (*i)( p1 ); | ||
| 302 | else | ||
| 303 | return (*i)( p1 ); | ||
| 304 | } | ||
| 305 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 306 | } | ||
| 307 | }; | ||
| 308 | |||
| 309 | template<typename p1t> | ||
| 310 | class SignalList1<void, p1t> : public Bu::List<Bu::Signal1<void, p1t> > | ||
| 311 | { | ||
| 312 | typedef Bu::List<Bu::Signal1<void, p1t> > MyType; | ||
| 313 | public: | ||
| 314 | SignalList1() | ||
| 315 | { | ||
| 316 | } | ||
| 317 | |||
| 318 | using MyType::iterator; | ||
| 319 | using MyType::const_iterator; | ||
| 320 | |||
| 321 | void operator()( p1t p1 ) | ||
| 322 | { | ||
| 323 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 324 | (*i)( p1 ); | ||
| 325 | } | ||
| 326 | }; | ||
| 232 | #endif // BU_SIGNAL_PARAM_COUNT_1 | 327 | #endif // BU_SIGNAL_PARAM_COUNT_1 |
| 233 | 328 | ||
| 234 | #ifndef BU_SIGNAL_PARAM_COUNT_2 | 329 | #ifndef BU_SIGNAL_PARAM_COUNT_2 |
| @@ -337,6 +432,53 @@ namespace Bu | |||
| 337 | new __Slot2F<ret, p1t, p2t>( pFnc ) | 432 | new __Slot2F<ret, p1t, p2t>( pFnc ) |
| 338 | ); | 433 | ); |
| 339 | } | 434 | } |
| 435 | |||
| 436 | template<typename ret, typename p1t, typename p2t> | ||
| 437 | class SignalList2 : public Bu::List<Bu::Signal2<ret, p1t, p2t> > | ||
| 438 | { | ||
| 439 | typedef Bu::List<Bu::Signal2<ret, p1t, p2t> > MyType; | ||
| 440 | public: | ||
| 441 | SignalList2() | ||
| 442 | { | ||
| 443 | } | ||
| 444 | |||
| 445 | using MyType::iterator; | ||
| 446 | using MyType::const_iterator; | ||
| 447 | |||
| 448 | ret operator()( p1t p1, p2t p2 ) | ||
| 449 | { | ||
| 450 | typename MyType::iterator i, n; | ||
| 451 | for(i = MyType::begin(); i; i=n) | ||
| 452 | { | ||
| 453 | n = i; | ||
| 454 | n++; | ||
| 455 | if( n ) | ||
| 456 | (*i)( p1, p2 ); | ||
| 457 | else | ||
| 458 | return (*i)( p1, p2 ); | ||
| 459 | } | ||
| 460 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 461 | } | ||
| 462 | }; | ||
| 463 | |||
| 464 | template<typename p1t, typename p2t> | ||
| 465 | class SignalList2<void, p1t, p2t> : public Bu::List<Bu::Signal2<void, p1t, p2t> > | ||
| 466 | { | ||
| 467 | typedef Bu::List<Bu::Signal2<void, p1t, p2t> > MyType; | ||
| 468 | public: | ||
| 469 | SignalList2() | ||
| 470 | { | ||
| 471 | } | ||
| 472 | |||
| 473 | using MyType::iterator; | ||
| 474 | using MyType::const_iterator; | ||
| 475 | |||
| 476 | void operator()( p1t p1, p2t p2 ) | ||
| 477 | { | ||
| 478 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 479 | (*i)( p1, p2 ); | ||
| 480 | } | ||
| 481 | }; | ||
| 340 | #endif // BU_SIGNAL_PARAM_COUNT_2 | 482 | #endif // BU_SIGNAL_PARAM_COUNT_2 |
| 341 | 483 | ||
| 342 | #ifndef BU_SIGNAL_PARAM_COUNT_3 | 484 | #ifndef BU_SIGNAL_PARAM_COUNT_3 |
| @@ -445,6 +587,53 @@ namespace Bu | |||
| 445 | new __Slot3F<ret, p1t, p2t, p3t>( pFnc ) | 587 | new __Slot3F<ret, p1t, p2t, p3t>( pFnc ) |
| 446 | ); | 588 | ); |
| 447 | } | 589 | } |
| 590 | |||
| 591 | template<typename ret, typename p1t, typename p2t, typename p3t> | ||
| 592 | class SignalList3 : public Bu::List<Bu::Signal3<ret, p1t, p2t, p3t> > | ||
| 593 | { | ||
| 594 | typedef Bu::List<Bu::Signal3<ret, p1t, p2t, p3t> > MyType; | ||
| 595 | public: | ||
| 596 | SignalList3() | ||
| 597 | { | ||
| 598 | } | ||
| 599 | |||
| 600 | using MyType::iterator; | ||
| 601 | using MyType::const_iterator; | ||
| 602 | |||
| 603 | ret operator()( p1t p1, p2t p2, p3t p3 ) | ||
| 604 | { | ||
| 605 | typename MyType::iterator i, n; | ||
| 606 | for(i = MyType::begin(); i; i=n) | ||
| 607 | { | ||
| 608 | n = i; | ||
| 609 | n++; | ||
| 610 | if( n ) | ||
| 611 | (*i)( p1, p2, p3 ); | ||
| 612 | else | ||
| 613 | return (*i)( p1, p2, p3 ); | ||
| 614 | } | ||
| 615 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 616 | } | ||
| 617 | }; | ||
| 618 | |||
| 619 | template<typename p1t, typename p2t, typename p3t> | ||
| 620 | class SignalList3<void, p1t, p2t, p3t> : public Bu::List<Bu::Signal3<void, p1t, p2t, p3t> > | ||
| 621 | { | ||
| 622 | typedef Bu::List<Bu::Signal3<void, p1t, p2t, p3t> > MyType; | ||
| 623 | public: | ||
| 624 | SignalList3() | ||
| 625 | { | ||
| 626 | } | ||
| 627 | |||
| 628 | using MyType::iterator; | ||
| 629 | using MyType::const_iterator; | ||
| 630 | |||
| 631 | void operator()( p1t p1, p2t p2, p3t p3 ) | ||
| 632 | { | ||
| 633 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 634 | (*i)( p1, p2, p3 ); | ||
| 635 | } | ||
| 636 | }; | ||
| 448 | #endif // BU_SIGNAL_PARAM_COUNT_3 | 637 | #endif // BU_SIGNAL_PARAM_COUNT_3 |
| 449 | 638 | ||
| 450 | #ifndef BU_SIGNAL_PARAM_COUNT_4 | 639 | #ifndef BU_SIGNAL_PARAM_COUNT_4 |
| @@ -553,6 +742,53 @@ namespace Bu | |||
| 553 | new __Slot4F<ret, p1t, p2t, p3t, p4t>( pFnc ) | 742 | new __Slot4F<ret, p1t, p2t, p3t, p4t>( pFnc ) |
| 554 | ); | 743 | ); |
| 555 | } | 744 | } |
| 745 | |||
| 746 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t> | ||
| 747 | class SignalList4 : public Bu::List<Bu::Signal4<ret, p1t, p2t, p3t, p4t> > | ||
| 748 | { | ||
| 749 | typedef Bu::List<Bu::Signal4<ret, p1t, p2t, p3t, p4t> > MyType; | ||
| 750 | public: | ||
| 751 | SignalList4() | ||
| 752 | { | ||
| 753 | } | ||
| 754 | |||
| 755 | using MyType::iterator; | ||
| 756 | using MyType::const_iterator; | ||
| 757 | |||
| 758 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4 ) | ||
| 759 | { | ||
| 760 | typename MyType::iterator i, n; | ||
| 761 | for(i = MyType::begin(); i; i=n) | ||
| 762 | { | ||
| 763 | n = i; | ||
| 764 | n++; | ||
| 765 | if( n ) | ||
| 766 | (*i)( p1, p2, p3, p4 ); | ||
| 767 | else | ||
| 768 | return (*i)( p1, p2, p3, p4 ); | ||
| 769 | } | ||
| 770 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 771 | } | ||
| 772 | }; | ||
| 773 | |||
| 774 | template<typename p1t, typename p2t, typename p3t, typename p4t> | ||
| 775 | class SignalList4<void, p1t, p2t, p3t, p4t> : public Bu::List<Bu::Signal4<void, p1t, p2t, p3t, p4t> > | ||
| 776 | { | ||
| 777 | typedef Bu::List<Bu::Signal4<void, p1t, p2t, p3t, p4t> > MyType; | ||
| 778 | public: | ||
| 779 | SignalList4() | ||
| 780 | { | ||
| 781 | } | ||
| 782 | |||
| 783 | using MyType::iterator; | ||
| 784 | using MyType::const_iterator; | ||
| 785 | |||
| 786 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4 ) | ||
| 787 | { | ||
| 788 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 789 | (*i)( p1, p2, p3, p4 ); | ||
| 790 | } | ||
| 791 | }; | ||
| 556 | #endif // BU_SIGNAL_PARAM_COUNT_4 | 792 | #endif // BU_SIGNAL_PARAM_COUNT_4 |
| 557 | 793 | ||
| 558 | #ifndef BU_SIGNAL_PARAM_COUNT_5 | 794 | #ifndef BU_SIGNAL_PARAM_COUNT_5 |
| @@ -661,6 +897,53 @@ namespace Bu | |||
| 661 | new __Slot5F<ret, p1t, p2t, p3t, p4t, p5t>( pFnc ) | 897 | new __Slot5F<ret, p1t, p2t, p3t, p4t, p5t>( pFnc ) |
| 662 | ); | 898 | ); |
| 663 | } | 899 | } |
| 900 | |||
| 901 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t, typename p5t> | ||
| 902 | class SignalList5 : public Bu::List<Bu::Signal5<ret, p1t, p2t, p3t, p4t, p5t> > | ||
| 903 | { | ||
| 904 | typedef Bu::List<Bu::Signal5<ret, p1t, p2t, p3t, p4t, p5t> > MyType; | ||
| 905 | public: | ||
| 906 | SignalList5() | ||
| 907 | { | ||
| 908 | } | ||
| 909 | |||
| 910 | using MyType::iterator; | ||
| 911 | using MyType::const_iterator; | ||
| 912 | |||
| 913 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5 ) | ||
| 914 | { | ||
| 915 | typename MyType::iterator i, n; | ||
| 916 | for(i = MyType::begin(); i; i=n) | ||
| 917 | { | ||
| 918 | n = i; | ||
| 919 | n++; | ||
| 920 | if( n ) | ||
| 921 | (*i)( p1, p2, p3, p4, p5 ); | ||
| 922 | else | ||
| 923 | return (*i)( p1, p2, p3, p4, p5 ); | ||
| 924 | } | ||
| 925 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 926 | } | ||
| 927 | }; | ||
| 928 | |||
| 929 | template<typename p1t, typename p2t, typename p3t, typename p4t, typename p5t> | ||
| 930 | class SignalList5<void, p1t, p2t, p3t, p4t, p5t> : public Bu::List<Bu::Signal5<void, p1t, p2t, p3t, p4t, p5t> > | ||
| 931 | { | ||
| 932 | typedef Bu::List<Bu::Signal5<void, p1t, p2t, p3t, p4t, p5t> > MyType; | ||
| 933 | public: | ||
| 934 | SignalList5() | ||
| 935 | { | ||
| 936 | } | ||
| 937 | |||
| 938 | using MyType::iterator; | ||
| 939 | using MyType::const_iterator; | ||
| 940 | |||
| 941 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5 ) | ||
| 942 | { | ||
| 943 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 944 | (*i)( p1, p2, p3, p4, p5 ); | ||
| 945 | } | ||
| 946 | }; | ||
| 664 | #endif // BU_SIGNAL_PARAM_COUNT_5 | 947 | #endif // BU_SIGNAL_PARAM_COUNT_5 |
| 665 | 948 | ||
| 666 | #ifndef BU_SIGNAL_PARAM_COUNT_6 | 949 | #ifndef BU_SIGNAL_PARAM_COUNT_6 |
| @@ -769,6 +1052,53 @@ namespace Bu | |||
| 769 | new __Slot6F<ret, p1t, p2t, p3t, p4t, p5t, p6t>( pFnc ) | 1052 | new __Slot6F<ret, p1t, p2t, p3t, p4t, p5t, p6t>( pFnc ) |
| 770 | ); | 1053 | ); |
| 771 | } | 1054 | } |
| 1055 | |||
| 1056 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t> | ||
| 1057 | class SignalList6 : public Bu::List<Bu::Signal6<ret, p1t, p2t, p3t, p4t, p5t, p6t> > | ||
| 1058 | { | ||
| 1059 | typedef Bu::List<Bu::Signal6<ret, p1t, p2t, p3t, p4t, p5t, p6t> > MyType; | ||
| 1060 | public: | ||
| 1061 | SignalList6() | ||
| 1062 | { | ||
| 1063 | } | ||
| 1064 | |||
| 1065 | using MyType::iterator; | ||
| 1066 | using MyType::const_iterator; | ||
| 1067 | |||
| 1068 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6 ) | ||
| 1069 | { | ||
| 1070 | typename MyType::iterator i, n; | ||
| 1071 | for(i = MyType::begin(); i; i=n) | ||
| 1072 | { | ||
| 1073 | n = i; | ||
| 1074 | n++; | ||
| 1075 | if( n ) | ||
| 1076 | (*i)( p1, p2, p3, p4, p5, p6 ); | ||
| 1077 | else | ||
| 1078 | return (*i)( p1, p2, p3, p4, p5, p6 ); | ||
| 1079 | } | ||
| 1080 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 1081 | } | ||
| 1082 | }; | ||
| 1083 | |||
| 1084 | template<typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t> | ||
| 1085 | class SignalList6<void, p1t, p2t, p3t, p4t, p5t, p6t> : public Bu::List<Bu::Signal6<void, p1t, p2t, p3t, p4t, p5t, p6t> > | ||
| 1086 | { | ||
| 1087 | typedef Bu::List<Bu::Signal6<void, p1t, p2t, p3t, p4t, p5t, p6t> > MyType; | ||
| 1088 | public: | ||
| 1089 | SignalList6() | ||
| 1090 | { | ||
| 1091 | } | ||
| 1092 | |||
| 1093 | using MyType::iterator; | ||
| 1094 | using MyType::const_iterator; | ||
| 1095 | |||
| 1096 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6 ) | ||
| 1097 | { | ||
| 1098 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 1099 | (*i)( p1, p2, p3, p4, p5, p6 ); | ||
| 1100 | } | ||
| 1101 | }; | ||
| 772 | #endif // BU_SIGNAL_PARAM_COUNT_6 | 1102 | #endif // BU_SIGNAL_PARAM_COUNT_6 |
| 773 | 1103 | ||
| 774 | #ifndef BU_SIGNAL_PARAM_COUNT_7 | 1104 | #ifndef BU_SIGNAL_PARAM_COUNT_7 |
| @@ -877,6 +1207,53 @@ namespace Bu | |||
| 877 | new __Slot7F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t>( pFnc ) | 1207 | new __Slot7F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t>( pFnc ) |
| 878 | ); | 1208 | ); |
| 879 | } | 1209 | } |
| 1210 | |||
| 1211 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t> | ||
| 1212 | class SignalList7 : public Bu::List<Bu::Signal7<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t> > | ||
| 1213 | { | ||
| 1214 | typedef Bu::List<Bu::Signal7<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t> > MyType; | ||
| 1215 | public: | ||
| 1216 | SignalList7() | ||
| 1217 | { | ||
| 1218 | } | ||
| 1219 | |||
| 1220 | using MyType::iterator; | ||
| 1221 | using MyType::const_iterator; | ||
| 1222 | |||
| 1223 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7 ) | ||
| 1224 | { | ||
| 1225 | typename MyType::iterator i, n; | ||
| 1226 | for(i = MyType::begin(); i; i=n) | ||
| 1227 | { | ||
| 1228 | n = i; | ||
| 1229 | n++; | ||
| 1230 | if( n ) | ||
| 1231 | (*i)( p1, p2, p3, p4, p5, p6, p7 ); | ||
| 1232 | else | ||
| 1233 | return (*i)( p1, p2, p3, p4, p5, p6, p7 ); | ||
| 1234 | } | ||
| 1235 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 1236 | } | ||
| 1237 | }; | ||
| 1238 | |||
| 1239 | template<typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t> | ||
| 1240 | class SignalList7<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t> : public Bu::List<Bu::Signal7<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t> > | ||
| 1241 | { | ||
| 1242 | typedef Bu::List<Bu::Signal7<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t> > MyType; | ||
| 1243 | public: | ||
| 1244 | SignalList7() | ||
| 1245 | { | ||
| 1246 | } | ||
| 1247 | |||
| 1248 | using MyType::iterator; | ||
| 1249 | using MyType::const_iterator; | ||
| 1250 | |||
| 1251 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7 ) | ||
| 1252 | { | ||
| 1253 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 1254 | (*i)( p1, p2, p3, p4, p5, p6, p7 ); | ||
| 1255 | } | ||
| 1256 | }; | ||
| 880 | #endif // BU_SIGNAL_PARAM_COUNT_7 | 1257 | #endif // BU_SIGNAL_PARAM_COUNT_7 |
| 881 | 1258 | ||
| 882 | #ifndef BU_SIGNAL_PARAM_COUNT_8 | 1259 | #ifndef BU_SIGNAL_PARAM_COUNT_8 |
| @@ -985,6 +1362,53 @@ namespace Bu | |||
| 985 | new __Slot8F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t>( pFnc ) | 1362 | new __Slot8F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t>( pFnc ) |
| 986 | ); | 1363 | ); |
| 987 | } | 1364 | } |
| 1365 | |||
| 1366 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t, typename p8t> | ||
| 1367 | class SignalList8 : public Bu::List<Bu::Signal8<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t> > | ||
| 1368 | { | ||
| 1369 | typedef Bu::List<Bu::Signal8<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t> > MyType; | ||
| 1370 | public: | ||
| 1371 | SignalList8() | ||
| 1372 | { | ||
| 1373 | } | ||
| 1374 | |||
| 1375 | using MyType::iterator; | ||
| 1376 | using MyType::const_iterator; | ||
| 1377 | |||
| 1378 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7, p8t p8 ) | ||
| 1379 | { | ||
| 1380 | typename MyType::iterator i, n; | ||
| 1381 | for(i = MyType::begin(); i; i=n) | ||
| 1382 | { | ||
| 1383 | n = i; | ||
| 1384 | n++; | ||
| 1385 | if( n ) | ||
| 1386 | (*i)( p1, p2, p3, p4, p5, p6, p7, p8 ); | ||
| 1387 | else | ||
| 1388 | return (*i)( p1, p2, p3, p4, p5, p6, p7, p8 ); | ||
| 1389 | } | ||
| 1390 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 1391 | } | ||
| 1392 | }; | ||
| 1393 | |||
| 1394 | template<typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t, typename p8t> | ||
| 1395 | class SignalList8<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t> : public Bu::List<Bu::Signal8<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t> > | ||
| 1396 | { | ||
| 1397 | typedef Bu::List<Bu::Signal8<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t> > MyType; | ||
| 1398 | public: | ||
| 1399 | SignalList8() | ||
| 1400 | { | ||
| 1401 | } | ||
| 1402 | |||
| 1403 | using MyType::iterator; | ||
| 1404 | using MyType::const_iterator; | ||
| 1405 | |||
| 1406 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7, p8t p8 ) | ||
| 1407 | { | ||
| 1408 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 1409 | (*i)( p1, p2, p3, p4, p5, p6, p7, p8 ); | ||
| 1410 | } | ||
| 1411 | }; | ||
| 988 | #endif // BU_SIGNAL_PARAM_COUNT_8 | 1412 | #endif // BU_SIGNAL_PARAM_COUNT_8 |
| 989 | 1413 | ||
| 990 | #ifndef BU_SIGNAL_PARAM_COUNT_9 | 1414 | #ifndef BU_SIGNAL_PARAM_COUNT_9 |
| @@ -1093,6 +1517,53 @@ namespace Bu | |||
| 1093 | new __Slot9F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t>( pFnc ) | 1517 | new __Slot9F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t>( pFnc ) |
| 1094 | ); | 1518 | ); |
| 1095 | } | 1519 | } |
| 1520 | |||
| 1521 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t, typename p8t, typename p9t> | ||
| 1522 | class SignalList9 : public Bu::List<Bu::Signal9<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t> > | ||
| 1523 | { | ||
| 1524 | typedef Bu::List<Bu::Signal9<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t> > MyType; | ||
| 1525 | public: | ||
| 1526 | SignalList9() | ||
| 1527 | { | ||
| 1528 | } | ||
| 1529 | |||
| 1530 | using MyType::iterator; | ||
| 1531 | using MyType::const_iterator; | ||
| 1532 | |||
| 1533 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7, p8t p8, p9t p9 ) | ||
| 1534 | { | ||
| 1535 | typename MyType::iterator i, n; | ||
| 1536 | for(i = MyType::begin(); i; i=n) | ||
| 1537 | { | ||
| 1538 | n = i; | ||
| 1539 | n++; | ||
| 1540 | if( n ) | ||
| 1541 | (*i)( p1, p2, p3, p4, p5, p6, p7, p8, p9 ); | ||
| 1542 | else | ||
| 1543 | return (*i)( p1, p2, p3, p4, p5, p6, p7, p8, p9 ); | ||
| 1544 | } | ||
| 1545 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 1546 | } | ||
| 1547 | }; | ||
| 1548 | |||
| 1549 | template<typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t, typename p8t, typename p9t> | ||
| 1550 | class SignalList9<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t> : public Bu::List<Bu::Signal9<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t> > | ||
| 1551 | { | ||
| 1552 | typedef Bu::List<Bu::Signal9<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t> > MyType; | ||
| 1553 | public: | ||
| 1554 | SignalList9() | ||
| 1555 | { | ||
| 1556 | } | ||
| 1557 | |||
| 1558 | using MyType::iterator; | ||
| 1559 | using MyType::const_iterator; | ||
| 1560 | |||
| 1561 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7, p8t p8, p9t p9 ) | ||
| 1562 | { | ||
| 1563 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 1564 | (*i)( p1, p2, p3, p4, p5, p6, p7, p8, p9 ); | ||
| 1565 | } | ||
| 1566 | }; | ||
| 1096 | #endif // BU_SIGNAL_PARAM_COUNT_9 | 1567 | #endif // BU_SIGNAL_PARAM_COUNT_9 |
| 1097 | 1568 | ||
| 1098 | #ifndef BU_SIGNAL_PARAM_COUNT_10 | 1569 | #ifndef BU_SIGNAL_PARAM_COUNT_10 |
| @@ -1201,6 +1672,53 @@ namespace Bu | |||
| 1201 | new __Slot10F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t>( pFnc ) | 1672 | new __Slot10F<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t>( pFnc ) |
| 1202 | ); | 1673 | ); |
| 1203 | } | 1674 | } |
| 1675 | |||
| 1676 | template<typename ret, typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t, typename p8t, typename p9t, typename p10t> | ||
| 1677 | class SignalList10 : public Bu::List<Bu::Signal10<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t> > | ||
| 1678 | { | ||
| 1679 | typedef Bu::List<Bu::Signal10<ret, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t> > MyType; | ||
| 1680 | public: | ||
| 1681 | SignalList10() | ||
| 1682 | { | ||
| 1683 | } | ||
| 1684 | |||
| 1685 | using MyType::iterator; | ||
| 1686 | using MyType::const_iterator; | ||
| 1687 | |||
| 1688 | ret operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7, p8t p8, p9t p9, p10t p10 ) | ||
| 1689 | { | ||
| 1690 | typename MyType::iterator i, n; | ||
| 1691 | for(i = MyType::begin(); i; i=n) | ||
| 1692 | { | ||
| 1693 | n = i; | ||
| 1694 | n++; | ||
| 1695 | if( n ) | ||
| 1696 | (*i)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ); | ||
| 1697 | else | ||
| 1698 | return (*i)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ); | ||
| 1699 | } | ||
| 1700 | throw Bu::ExceptionBase("Empty SignalList with non-void return value called."); | ||
| 1701 | } | ||
| 1702 | }; | ||
| 1703 | |||
| 1704 | template<typename p1t, typename p2t, typename p3t, typename p4t, typename p5t, typename p6t, typename p7t, typename p8t, typename p9t, typename p10t> | ||
| 1705 | class SignalList10<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t> : public Bu::List<Bu::Signal10<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t> > | ||
| 1706 | { | ||
| 1707 | typedef Bu::List<Bu::Signal10<void, p1t, p2t, p3t, p4t, p5t, p6t, p7t, p8t, p9t, p10t> > MyType; | ||
| 1708 | public: | ||
| 1709 | SignalList10() | ||
| 1710 | { | ||
| 1711 | } | ||
| 1712 | |||
| 1713 | using MyType::iterator; | ||
| 1714 | using MyType::const_iterator; | ||
| 1715 | |||
| 1716 | void operator()( p1t p1, p2t p2, p3t p3, p4t p4, p5t p5, p6t p6, p7t p7, p8t p8, p9t p9, p10t p10 ) | ||
| 1717 | { | ||
| 1718 | for( typename MyType::iterator i = MyType::begin(); i; i++ ) | ||
| 1719 | (*i)( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ); | ||
| 1720 | } | ||
| 1721 | }; | ||
| 1204 | #endif // BU_SIGNAL_PARAM_COUNT_10 | 1722 | #endif // BU_SIGNAL_PARAM_COUNT_10 |
| 1205 | 1723 | ||
| 1206 | }; | 1724 | }; |
