diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-10-11 20:42:29 +0200 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2020-10-15 02:35:55 +0200 |
commit | 871392790eafdd22521367ba485da5c10e9bb0db (patch) | |
tree | 1b2c4f4653d386d1ea17696b739c2c452a62f536 /src | |
parent | 79889a91a165950e2ca89e71a0f6b285447e7860 (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.h | 14 |
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 |