diff --git a/libs/generic/functional.h b/libs/generic/functional.h index ca1d8630..bd253486 100644 --- a/libs/generic/functional.h +++ b/libs/generic/functional.h @@ -296,23 +296,17 @@ public: } }; -template +template class TypeEqual { - template - class Match - { - public: - typedef False type; - }; - template<> - class Match - { - public: - typedef True type; - }; public: - typedef typename Match::type type; + typedef False type; +}; +template +class TypeEqual +{ +public: + typedef True type; }; diff --git a/libs/signal/isignal.h b/libs/signal/isignal.h index e6cb215d..4fe27471 100644 --- a/libs/signal/isignal.h +++ b/libs/signal/isignal.h @@ -89,10 +89,10 @@ public: template SignalHandler(const BindFirstOpaque& caller) : Callback0(BindFirstOpaque + SignalHandlerCaller1, + typename Caller::result_type >::type>(caller.getBound())) { } @@ -117,10 +117,10 @@ public: template SignalHandler1(const BindFirstOpaque1& caller) : Callback1(BindFirstOpaque1 + SignalHandlerCaller2, + typename Caller::result_type >::type>(caller.getBound())) { } @@ -145,10 +145,10 @@ public: template SignalHandler2(const BindFirstOpaque2& caller) : Callback2(BindFirstOpaque2 + SignalHandlerCaller3, + typename Caller::result_type >::type>(caller.getBound())) { } @@ -185,10 +185,10 @@ public: template SignalHandler3(const BindFirstOpaque3& caller) : Callback3(BindFirstOpaque3 + SignalHandlerCaller4, + typename Caller::result_type >::type>(caller.getBound())) { }