summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2021-09-30 14:40:33 +0200
committerIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2021-10-01 02:46:27 +0200
commit49d94bbb41cede41ebe97004a84b2e3a4f5936e5 (patch)
treed37780ea94e43f5d4b0f8e80945282e92c613df7
parente0b87edd73c4ade9f35985313b19d8f2f1f9ca78 (diff)
Assume that <variant> header is always present
This header is a C++17 feature that is already used unconditionally in qtypeinfo.h. Change-Id: I26330d298e95102f3e94c0c69fc95c1025666eb4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r--src/corelib/kernel/qvariant.h9
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp4
2 files changed, 0 insertions, 13 deletions
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index 213368a036..bacaa44e95 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -57,12 +57,7 @@
#endif
#include <memory>
#include <type_traits>
-
-#if __has_include(<variant>)
#include <variant>
-#elif defined(Q_CLANG_QDOC)
-namespace std { template<typename...> struct variant; }
-#endif
QT_BEGIN_NAMESPACE
@@ -402,7 +397,6 @@ class Q_CORE_EXPORT QVariant
return QVariant(QMetaType::fromType<T>(), std::addressof(value));
}
-#if __has_include(<variant>) || defined(Q_CLANG_QDOC)
template<typename... Types>
static inline QVariant fromStdVariant(const std::variant<Types...> &value)
{
@@ -410,7 +404,6 @@ class Q_CORE_EXPORT QVariant
return QVariant();
return std::visit([](const auto &arg) { return fromValue(arg); }, value);
}
-#endif
template<typename T>
bool canConvert() const
@@ -580,13 +573,11 @@ inline QVariant QVariant::fromValue(const QVariant &value)
return value;
}
-#if __has_include(<variant>)
template<>
inline QVariant QVariant::fromValue(const std::monostate &)
{
return QVariant();
}
-#endif
inline bool QVariant::isValid() const
{
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 40dfb79cff..6166c8a639 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -48,9 +48,7 @@
#include <limits.h>
#include <float.h>
#include <cmath>
-#if __has_include(<variant>)
#include <variant>
-#endif
#include <QRegularExpression>
#include <QDir>
#include <QBuffer>
@@ -4882,7 +4880,6 @@ void tst_QVariant::shouldDeleteVariantDataWorksForAssociative()
void tst_QVariant::fromStdVariant()
{
-#if __has_include(<variant>)
{
typedef std::variant<int, bool> intorbool_t;
intorbool_t stdvar = 5;
@@ -4913,7 +4910,6 @@ void tst_QVariant::fromStdVariant()
QCOMPARE(qvar.type(), QVariant::Char);
QCOMPARE(qvar.value<QChar>(), std::get<QChar>(stdvar));
}
-#endif
}
void tst_QVariant::qt4UuidDataStream()