From 1bfdbe5c71a4f5e93299773a45f02f608d117fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Wed, 5 Jul 2023 16:38:32 +0200 Subject: [PATCH] Inline Functor struct into FunctorCallable It's currently its only user, so drop the extra code and inheritance. Change-Id: I6e525a9629b7289cc770133936e089683b763289 Reviewed-by: Thiago Macieira --- src/corelib/kernel/qobjectdefs_impl.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/corelib/kernel/qobjectdefs_impl.h b/src/corelib/kernel/qobjectdefs_impl.h index e8dd262672e..d45971fc874 100644 --- a/src/corelib/kernel/qobjectdefs_impl.h +++ b/src/corelib/kernel/qobjectdefs_impl.h @@ -332,21 +332,18 @@ namespace QtPrivate { typedef decltype(std::declval().operator()((std::declval())...)) Value; }; - template struct Functor - { - template - static void call(Function &f, void *, void **arg) { - FunctorCall::Value, SignalArgs, R, Function>::call(f, arg); - } - }; - template - struct FunctorCallable : Functor + struct FunctorCallable { using ReturnType = decltype(std::declval()(std::declval()...)); using Function = ReturnType(*)(Args...); enum {ArgumentCount = sizeof...(Args)}; using Arguments = QtPrivate::List; + + template + static void call(Func &f, void *, void **arg) { + FunctorCall::Value, SignalArgs, R, Func>::call(f, arg); + } }; template