2015-08-14 Murray Cumming deduce_result_t: Add initial T_return template parameter. To make it clearer that this is how to use it. 2015-08-14 Murray Cumming tests: Use sigc::deduce_result_t<> instead of deduce_result_type<>::type. This removes the last use of sigc::deduce_result_type<>, allowing us to change the implementation of sigc::deduce_result_t more easily. 2015-08-14 Murray Cumming exception_catch.h: Generate deduce_result_type for the void specializations too. I guess this is correct and test_exception_catch still passes. Without this, it's actually using, for instance: sigc::deduce_result_type even though sigc::deduce_result_type<> should really be called with a result type first, like so: sigc::deduce_result_type Explicitly changing it to use sigc::deduce_result_type or sigc::deduce_result_type instead of just deduce_result_type doesn't seem to break things either, probably out of luck, but changing it to define a type that it actually seems to expect seems cleaner, and makes it easier for us to change sigc::deduce_result_type. 2015-08-13 Murray Cumming C++11: deduce_result_type.h: Add and use a deduce_result_t<> alias. This simplifies the code a bit, by replacing use of this: typename deduce_result_type::type with this: deduce_result_t Note that the alias is a C++11 variadic template. Bug #753580 2015-08-13 Murray Cumming type_traits.h: Remove the unused type and pointer types. These were apparently never used. Bug #753580 2015-08-13 Murray Cumming type_trait: Define and use type_trait_pass/take_t aliases. This simplifies the code a bit, by replacing use of this: typename type_trait::take with this: type_trait_take_t Bug #753580 2015-08-13 Murray Cumming 2.5.2