diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2022-01-12 10:09:48 -0800 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-01-16 11:59:39 +0000 |
commit | b387fbd1223a4b86164e0a9775afdb7baffea83a (patch) | |
tree | fb72a44f66ad396816544c41498549548156257b /src/corelib/tools/qversionnumber.cpp | |
parent | 3976449c0e38ac4294ea1b353098115be1a5e385 (diff) |
QVersionNumber: change int to qsizetype for index and length
This class is not exported, so we can change the non-exported
methods. None of the exported methods required change; notably,
QVersionNumber::Segments::setVector didn't because it's only called with
values 1, 2, and 3.
[ChangeLog][Potentially source-incompatible changes] Updated the
QVersionNumber API to use qsizetype where length and index values were
used. This change retains binary compatibility and the vast majority of
users will not experience a source compatibility problem. It could occur
with ambiguous overloads when passing results from QVersionNumber to
other API not using either int or qsizetype. There could also be new
warnings from compilers about converting 64-bit types to 32-bit ones.
Change-Id: I0e5f6bec596a4a78bd3bfffd16c9984b61c9b55b
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'src/corelib/tools/qversionnumber.cpp')
-rw-r--r-- | src/corelib/tools/qversionnumber.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/corelib/tools/qversionnumber.cpp b/src/corelib/tools/qversionnumber.cpp index da093a417d..54524c4405 100644 --- a/src/corelib/tools/qversionnumber.cpp +++ b/src/corelib/tools/qversionnumber.cpp @@ -168,7 +168,7 @@ QT_BEGIN_NAMESPACE */ /*! - \fn const QList<int>& QVersionNumber::segments() const + \fn QList<int> QVersionNumber::segments() const Returns all of the numerical segments. @@ -181,13 +181,13 @@ QList<int> QVersionNumber::segments() const QList<int> result; result.resize(segmentCount()); - for (int i = 0; i < segmentCount(); ++i) + for (qsizetype i = 0; i < segmentCount(); ++i) result[i] = segmentAt(i); return result; } /*! - \fn int QVersionNumber::segmentAt(int index) const + \fn int QVersionNumber::segmentAt(qsizetype index) const Returns the segment value at \a index. If the index does not exist, returns 0. @@ -196,7 +196,7 @@ QList<int> QVersionNumber::segments() const */ /*! - \fn int QVersionNumber::segmentCount() const + \fn qsizetype QVersionNumber::segmentCount() const Returns the number of integers stored in segments(). @@ -215,7 +215,7 @@ QList<int> QVersionNumber::segments() const */ QVersionNumber QVersionNumber::normalized() const { - int i; + qsizetype i; for (i = m_segments.size(); i; --i) if (m_segments.at(i - 1) != 0) break; @@ -239,7 +239,7 @@ bool QVersionNumber::isPrefixOf(const QVersionNumber &other) const noexcept { if (segmentCount() > other.segmentCount()) return false; - for (int i = 0; i < segmentCount(); ++i) { + for (qsizetype i = 0; i < segmentCount(); ++i) { if (segmentAt(i) != other.segmentAt(i)) return false; } @@ -261,7 +261,7 @@ bool QVersionNumber::isPrefixOf(const QVersionNumber &other) const noexcept */ int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2) noexcept { - int commonlen; + qsizetype commonlen; if (Q_LIKELY(!v1.m_segments.isUsingPointer() && !v2.m_segments.isUsingPointer())) { // we can't use memcmp because it interprets the data as unsigned bytes @@ -269,12 +269,12 @@ int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2) const qint8 *ptr2 = v2.m_segments.inline_segments + InlineSegmentStartIdx; commonlen = qMin(v1.m_segments.size(), v2.m_segments.size()); - for (int i = 0; i < commonlen; ++i) + for (qsizetype i = 0; i < commonlen; ++i) if (int x = ptr1[i] - ptr2[i]) return x; } else { commonlen = qMin(v1.segmentCount(), v2.segmentCount()); - for (int i = 0; i < commonlen; ++i) { + for (qsizetype i = 0; i < commonlen; ++i) { if (v1.segmentAt(i) != v2.segmentAt(i)) return v1.segmentAt(i) - v2.segmentAt(i); } @@ -311,8 +311,8 @@ int QVersionNumber::compare(const QVersionNumber &v1, const QVersionNumber &v2) QVersionNumber QVersionNumber::commonPrefix(const QVersionNumber &v1, const QVersionNumber &v2) { - int commonlen = qMin(v1.segmentCount(), v2.segmentCount()); - int i; + qsizetype commonlen = qMin(v1.segmentCount(), v2.segmentCount()); + qsizetype i; for (i = 0; i < commonlen; ++i) { if (v1.segmentAt(i) != v2.segmentAt(i)) break; @@ -391,7 +391,7 @@ QString QVersionNumber::toString() const QString version; version.reserve(qMax(segmentCount() * 2 - 1, 0)); bool first = true; - for (int i = 0; i < segmentCount(); ++i) { + for (qsizetype i = 0; i < segmentCount(); ++i) { if (!first) version += QLatin1Char('.'); version += QString::number(segmentAt(i)); |