diff options
author | Murray Cumming <murrayc@murrayc.com> | 2016-01-14 10:50:00 +0100 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2016-01-14 12:11:28 +0100 |
commit | a246f3276c87051c2214532b0c2985784f9c990a (patch) | |
tree | 38ecb52638eb7b54903236a886d0d1d24a1356fa | |
parent | 241f83b902b6a21c6975d0e10ffb73b6762753ff (diff) | |
download | sigc++-a246f3276c87051c2214532b0c2985784f9c990a.tar.gz |
signal.h.m4: signal_emit: Put the T_Accumulator before the args.
So the args can be variadic eventually.
-rw-r--r-- | sigc++/macros/signal.h.m4 | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sigc++/macros/signal.h.m4 b/sigc++/macros/signal.h.m4 index f8feb7b..7842e84 100644 --- a/sigc++/macros/signal.h.m4 +++ b/sigc++/macros/signal.h.m4 @@ -25,10 +25,10 @@ define([SIGNAL_EMIT_N],[dnl * emission when no accumulator is used, for example when the template * argument @e T_accumulator is @p nil. */ -template <LIST(class T_return, LOOP(class T_arg%1, $1), class T_accumulator)> +template <LIST(class T_return, class T_accumulator, LOOP(class T_arg%1, $1))> struct signal_emit$1 { - typedef signal_emit$1<LIST(T_return, LOOP(T_arg%1, $1), T_accumulator)> self_type; + typedef signal_emit$1<LIST(T_return, T_accumulator, LOOP(T_arg%1, $1))> self_type; typedef typename T_accumulator::result_type result_type; typedef slot<LIST(T_return, LOOP(T_arg%1, $1))> slot_type; typedef internal::slot_iterator_buf<self_type, T_return> slot_iterator_buf_type; @@ -108,9 +108,9 @@ dnl * function for the case that no accumulator is used. */ template <LIST(class T_return, LOOP(class T_arg%1, $1))> -struct signal_emit$1<LIST(T_return, LOOP(T_arg%1, $1), nil)> +struct signal_emit$1<LIST(T_return, nil, LOOP(T_arg%1, $1))> { - typedef signal_emit$1<LIST(T_return, LOOP(T_arg%1, $1), nil) > self_type; + typedef signal_emit$1<LIST(T_return, nil, LOOP(T_arg%1, $1)) > self_type; typedef T_return result_type; typedef slot<LIST(T_return, LOOP(T_arg%1, $1))> slot_type; typedef signal_impl::const_iterator_type iterator_type; @@ -212,9 +212,9 @@ FOR(1, $1,[ * return type is @p void. */ template <LOOP(class T_arg%1, $1)> -struct signal_emit$1<LIST(void, LOOP(T_arg%1, $1), nil)> +struct signal_emit$1<LIST(void, nil, LOOP(T_arg%1, $1))> { - typedef signal_emit$1<LIST(void, LOOP(T_arg%1, $1), nil)> self_type; + typedef signal_emit$1<LIST(void, nil, LOOP(T_arg%1, $1))> self_type; typedef void result_type; typedef slot<LIST(void, LOOP(T_arg%1, $1))> slot_type; typedef signal_impl::const_iterator_type iterator_type; @@ -308,7 +308,7 @@ class signal$1 : public signal_base { public: - typedef internal::signal_emit$1<LIST(T_return, LOOP(T_arg%1, $1), T_accumulator)> emitter_type; + typedef internal::signal_emit$1<LIST(T_return, T_accumulator, LOOP(T_arg%1, $1))> emitter_type; typedef typename emitter_type::result_type result_type; typedef slot<LIST(T_return, LOOP(T_arg%1, $1))> slot_type; typedef slot_list<slot_type> slot_list_type; |