[libsigcplusplus/variadic_mem_fun2] mem_fun.h.m4: Remove mem_functor and const_mem_functor.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libsigcplusplus/variadic_mem_fun2] mem_fun.h.m4: Remove mem_functor and const_mem_functor.
- Date: Sun, 6 Mar 2016 20:16:34 +0000 (UTC)
commit 96813b7c8d71db3e62f9b710132a78f92248dbdd
Author: Murray Cumming <murrayc murrayc com>
Date: Sun Mar 6 21:12:02 2016 +0100
mem_fun.h.m4: Remove mem_functor and const_mem_functor.
They were only used in one place, internally, and did not add much clarity.
sigc++/functors/functor_trait.h | 8 ++++++--
sigc++/functors/macros/mem_fun.h.m4 | 23 -----------------------
tests/test_size.cc | 4 ++--
3 files changed, 8 insertions(+), 27 deletions(-)
---
diff --git a/sigc++/functors/functor_trait.h b/sigc++/functors/functor_trait.h
index 62dc9e6..366d68c 100644
--- a/sigc++/functors/functor_trait.h
+++ b/sigc++/functors/functor_trait.h
@@ -208,14 +208,18 @@ template <class T_return, class T_obj, class... T_arg>
struct functor_trait<T_return (T_obj::*)(T_arg...), false, false>
{
using result_type = T_return;
- using functor_type = mem_functor<T_return, T_obj, T_arg...>;
+ using functor_type = mem_functor_base<
+ T_return (T_obj::*)(T_arg...),
+ T_arg...>;
};
template <class T_return, class T_obj, class... T_arg>
struct functor_trait<T_return (T_obj::*)(T_arg...) const, false, false>
{
using result_type = T_return;
- using functor_type = const_mem_functor<T_return, T_obj, T_arg...>;
+ using functor_type = mem_functor_base<
+ T_return (T_obj::*)(T_arg...) const,
+ T_arg...>;
};
#endif // DOXYGEN_SHOULD_SKIP_THIS
diff --git a/sigc++/functors/macros/mem_fun.h.m4 b/sigc++/functors/macros/mem_fun.h.m4
index 523a1d8..2d563b8 100644
--- a/sigc++/functors/macros/mem_fun.h.m4
+++ b/sigc++/functors/macros/mem_fun.h.m4
@@ -18,24 +18,6 @@ divert(-1)
include(template.macros.m4)
-define([MEMBER_FUNCTOR],[dnl
-/** [$1]mem_functor wraps $2 methods with argument(s).
- * Use the convenience function mem_fun() to create an instance of [$1]mem_functor.
- *
- * The following template arguments are used:
- * - @e T_arg... Argument types used in the definition of operator()().
- * - @e T_return The return type of operator()().
- * - @e T_obj The object type.
- *
- * @ingroup mem_fun
- */
-template<class T_return, class T_obj, class... T_arg>
-using [$1]mem_functor =
- mem_functor_base<
- T_return (T_obj::*)(T_arg...) $2,
- T_arg...>;
-])
-
define([MEM_FUN],[dnl
/** Creates a functor of type sigc::[$1]mem_functor which wraps a $3 method.
* @param _A_func Pointer to method that should be wrapped.
@@ -191,11 +173,6 @@ protected:
function_type func_ptr_;
};
-//mem_functor and const_mem_functor are just convenience aliases used in the
-//definition of functor_trait<> specializations. TODO: Remove them?
-
-MEMBER_FUNCTOR([],[])
-MEMBER_FUNCTOR([const_],[const])
template <class T_func,
class... T_arg>
diff --git a/tests/test_size.cc b/tests/test_size.cc
index 7bdca1a..b05c369 100644
--- a/tests/test_size.cc
+++ b/tests/test_size.cc
@@ -44,8 +44,8 @@ int main(int argc, char* argv[])
std::cout << " trackable_callback_list: " << sizeof(sigc::internal::trackable_callback_list) <<
std::endl;
std::cout << " slot_rep: " << sizeof(sigc::internal::slot_rep) << std::endl;
std::cout << " typed_slot_rep<mem_functor<void,A> >: "
- << sizeof(sigc::internal::typed_slot_rep<sigc::mem_functor<void,A> >) << std::endl;
+ << sizeof(sigc::internal::typed_slot_rep<sigc::mem_functor_base<void (A::*)()> >) << std::endl;
std::cout << " signal_impl: " << sizeof(sigc::internal::signal_impl) << std::endl;
}
return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
-}
+}
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]