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.
-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 | }; |