summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2020-10-11 20:42:29 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2020-10-15 02:35:55 +0200
commit871392790eafdd22521367ba485da5c10e9bb0db (patch)
tree1b2c4f4653d386d1ea17696b739c2c452a62f536 /src
parent79889a91a165950e2ca89e71a0f6b285447e7860 (diff)
QOverload helpers: code tidies
Remove pre-C++14 code paths; and mark as `inline` the qOverload helper objects (constexpr variables at namespace scope aren't automatically inline). Change-Id: Ieb2a9f06e39720d0c7215a3d1273c3a5996d0bc7 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/global/qglobal.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 3e32a4815a..a9b412b7b1 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -1173,7 +1173,6 @@ Q_CORE_EXPORT QString qtTrId(const char *id, int n = -1);
#ifdef Q_QDOC
-
// Just for documentation generation
template<typename T>
auto qOverload(T functionPointer);
@@ -1181,9 +1180,7 @@ template<typename T>
auto qConstOverload(T memberFunctionPointer);
template<typename T>
auto qNonConstOverload(T memberFunctionPointer);
-
-#elif defined(Q_COMPILER_VARIADIC_TEMPLATES)
-
+#else
template <typename... Args>
struct QNonConstOverload
{
@@ -1225,12 +1222,9 @@ struct QOverload : QConstOverload<Args...>, QNonConstOverload<Args...>
{ return ptr; }
};
-#if defined(__cpp_variable_templates) && __cpp_variable_templates >= 201304 // C++14
-template <typename... Args> [[maybe_unused]] constexpr QOverload<Args...> qOverload = {};
-template <typename... Args> [[maybe_unused]] constexpr QConstOverload<Args...> qConstOverload = {};
-template <typename... Args> [[maybe_unused]] constexpr QNonConstOverload<Args...> qNonConstOverload = {};
-#endif
-
+template <typename... Args> [[maybe_unused]] constexpr inline QOverload<Args...> qOverload = {};
+template <typename... Args> [[maybe_unused]] constexpr inline QConstOverload<Args...> qConstOverload = {};
+template <typename... Args> [[maybe_unused]] constexpr inline QNonConstOverload<Args...> qNonConstOverload = {};
#endif