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>
This commit is contained in:
Ievgenii Meshcheriakov 2021-09-30 14:40:33 +02:00
parent e0b87edd73
commit 49d94bbb41
2 changed files with 0 additions and 13 deletions

View File

@ -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
{

View File

@ -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()