[libsigc++2/variadic] signal.h: Automatic deduction accumulator's operator() return type.



commit cfe10afb6ed372146d952273a7d3c996a01b2ca8
Author: Marcin Kolny <marcin kolny gmail com>
Date:   Fri Jan 15 11:06:38 2016 +0100

    signal.h: Automatic deduction accumulator's operator() return type.

 sigc++/signal.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/sigc++/signal.h b/sigc++/signal.h
index 2ae45a5..452285d 100644
--- a/sigc++/signal.h
+++ b/sigc++/signal.h
@@ -614,7 +614,7 @@ template <class T_return, class T_accumulator, class... T_arg>
 struct signal_emit
 {
   typedef signal_emit<T_return, T_accumulator, T_arg...> self_type;
-  typedef typename T_accumulator::result_type result_type;
+  typedef decltype(std::declval<T_accumulator>()(slot_iterator_buf_type(), slot_iterator_buf_type())) 
result_type;
   typedef slot<T_return, T_arg...> slot_type;
   typedef internal::slot_iterator_buf<self_type, T_return> slot_iterator_buf_type;
   typedef internal::slot_reverse_iterator_buf<self_type, T_return> slot_reverse_iterator_buf_type;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]