diff options
author | Mikhail Svetkin <mikhail.svetkin@qt.io> | 2018-08-28 16:41:28 +0200 |
---|---|---|
committer | Mikhail Svetkin <mikhail.svetkin@qt.io> | 2018-09-05 14:11:15 +0000 |
commit | 40cd0f35ef0b27b1451caf393a97b8a4ac8cd4b2 (patch) | |
tree | de2890a104f93803f9713e6e0ca9017f0d0110bb | |
parent | dd944136a253ba40def26046729e5020b179692a (diff) |
Remove QConditional in favor of std::conditional/std::is_unsigned
Change-Id: I5e0b9f640eb49aa7f5afdd4f3f15e027659e78ea
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r-- | src/corelib/global/qglobal.h | 3 | ||||
-rw-r--r-- | src/corelib/tools/qbytearray.cpp | 4 | ||||
-rw-r--r-- | src/corelib/tools/qlocale.cpp | 4 | ||||
-rw-r--r-- | src/corelib/tools/qmakearray_p.h | 4 | ||||
-rw-r--r-- | src/corelib/tools/qoffsetstringarray_p.h | 8 | ||||
-rw-r--r-- | src/corelib/tools/qstring.h | 6 |
6 files changed, 10 insertions, 19 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 75d9655ea1..f56629faa1 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -1186,9 +1186,6 @@ namespace QtPrivate { //like std::enable_if template <bool B, typename T = void> struct QEnableIf; template <typename T> struct QEnableIf<true, T> { typedef T Type; }; - -template <bool B, typename T, typename F> struct QConditional { typedef T Type; }; -template <typename T, typename F> struct QConditional<false, T, F> { typedef F Type; }; } QT_END_NAMESPACE diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp index 10e9b22161..d8aadaa744 100644 --- a/src/corelib/tools/qbytearray.cpp +++ b/src/corelib/tools/qbytearray.cpp @@ -3885,9 +3885,7 @@ static qulonglong toIntegral_helper(const char *data, bool *ok, int base, qulong template <typename T> static inline T toIntegral_helper(const char *data, bool *ok, int base) { - // ### Qt6: use std::conditional<std::is_unsigned<T>::value, qulonglong, qlonglong>::type - const bool isUnsigned = T(0) < T(-1); - typedef typename QtPrivate::QConditional<isUnsigned, qulonglong, qlonglong>::Type Int64; + using Int64 = typename std::conditional<std::is_unsigned<T>::value, qulonglong, qlonglong>::type; #if defined(QT_CHECK_RANGE) if (base != 0 && (base < 2 || base > 36)) { diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index b285e58779..7425302857 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -1180,9 +1180,7 @@ static qulonglong toIntegral_helper(const QLocaleData *d, QStringView str, bool template <typename T> static inline T toIntegral_helper(const QLocalePrivate *d, QStringView str, bool *ok) { - // ### Qt6: use std::conditional<std::is_unsigned<T>::value, qulonglong, qlonglong>::type - const bool isUnsigned = T(0) < T(-1); - typedef typename QtPrivate::QConditional<isUnsigned, qulonglong, qlonglong>::Type Int64; + using Int64 = typename std::conditional<std::is_unsigned<T>::value, qulonglong, qlonglong>::type; // we select the right overload by the last, unused parameter Int64 val = toIntegral_helper(d->m_data, str, ok, d->m_numberOptions, Int64()); diff --git a/src/corelib/tools/qmakearray_p.h b/src/corelib/tools/qmakearray_p.h index ae4d7f07c6..71441c2c27 100644 --- a/src/corelib/tools/qmakearray_p.h +++ b/src/corelib/tools/qmakearray_p.h @@ -111,10 +111,10 @@ struct QuickSortFilter<Predicate, QuickSortData<Head, Tail...>> using TailFilteredData = typename QuickSortFilter< Predicate, QuickSortData<Tail...>>::Type; - using Type = typename QConditional< + using Type = typename std::conditional< Predicate<Head>::value, decltype(quickSortConcat(QuickSortData<Head> {}, TailFilteredData{})), - TailFilteredData>::Type; + TailFilteredData>::type; }; template <template <typename> class Predicate> diff --git a/src/corelib/tools/qoffsetstringarray_p.h b/src/corelib/tools/qoffsetstringarray_p.h index ff195965ec..0a7906a3c5 100644 --- a/src/corelib/tools/qoffsetstringarray_p.h +++ b/src/corelib/tools/qoffsetstringarray_p.h @@ -66,14 +66,14 @@ template<int Last, int I, int S, int ... Idx> struct OffsetSequenceHelper<1, Last, I, S, Idx...> : IndexesList<Last + I, Idx..., Last> { static const constexpr auto Length = Last + I; - using Type = typename QConditional< + using Type = typename std::conditional< Last <= std::numeric_limits<quint8>::max(), quint8, - typename QConditional< + typename std::conditional< Last <= std::numeric_limits<quint16>::max(), quint16, - int>::Type - >::Type; + int>::type + >::type; }; template<int ... Idx> diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index f18baf7065..77b562ec5b 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -896,10 +896,8 @@ private: template <typename T> static T toIntegral_helper(const QChar *data, int len, bool *ok, int base) { - // ### Qt6: use std::conditional<std::is_unsigned<T>::value, qulonglong, qlonglong>::type - const bool isUnsigned = T(0) < T(-1); - typedef typename QtPrivate::QConditional<isUnsigned, qulonglong, qlonglong>::Type Int64; - typedef typename QtPrivate::QConditional<isUnsigned, uint, int>::Type Int32; + using Int64 = typename std::conditional<std::is_unsigned<T>::value, qulonglong, qlonglong>::type; + using Int32 = typename std::conditional<std::is_unsigned<T>::value, uint, int>::type; // we select the right overload by casting size() to int or uint Int64 val = toIntegral_helper(data, Int32(len), ok, base); |