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:
parent
e0b87edd73
commit
49d94bbb41
@ -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
|
||||
{
|
||||
|
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user