diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-08-20 21:21:10 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-08-26 19:50:48 +0200 |
commit | e1cf523354bffcdf3dd013bf49e61d0b325baf39 (patch) | |
tree | b14013cc86ce0b3a4bd794a5135eecd394956236 /src/corelib/tools | |
parent | 3f32b01b98f71df32281745fb54b62ab123fe424 (diff) |
QScopedArrayPointer: port to qsizetype
[ChangeLog][QtCore][QScopedArrayPointer] Is no longer limited to 2Gi
elements in size.
Task-number: QTBUG-103533
Change-Id: Ic591b3245c53d478e42ff054e01054d855b38685
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools')
-rw-r--r-- | src/corelib/tools/qscopedpointer.cpp | 10 | ||||
-rw-r--r-- | src/corelib/tools/qscopedpointer.h | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp index e569267c65..28cc39ae5d 100644 --- a/src/corelib/tools/qscopedpointer.cpp +++ b/src/corelib/tools/qscopedpointer.cpp @@ -276,24 +276,30 @@ QT_BEGIN_NAMESPACE */ /*! - \fn template <typename T, typename Cleanup> T *QScopedArrayPointer<T, Cleanup>::operator[](int i) + \fn template <typename T, typename Cleanup> T *QScopedArrayPointer<T, Cleanup>::operator[](qsizetype i) Provides access to entry \a i of the scoped pointer's array of objects. If the contained pointer is \nullptr, behavior is undefined. + \note In Qt versions prior to 6.5, \a i was of type \c{int}, not + \c{qsizetype}, possibly causing truncation on 64-bit platforms. + \sa isNull() */ /*! - \fn template <typename T, typename Cleanup> T *QScopedArrayPointer<T, Cleanup>::operator[](int i) const + \fn template <typename T, typename Cleanup> T *QScopedArrayPointer<T, Cleanup>::operator[](qsizetype i) const Provides access to entry \a i of the scoped pointer's array of objects. If the contained pointer is \nullptr behavior is undefined. + \note In Qt versions prior to 6.5, \a i was of type \c{int}, not + \c{qsizetype}, possibly causing truncation on 64-bit platforms. + \sa isNull() */ diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h index 508816a7e7..1ad7acb0f4 100644 --- a/src/corelib/tools/qscopedpointer.h +++ b/src/corelib/tools/qscopedpointer.h @@ -201,12 +201,12 @@ public: { } - inline T &operator[](int i) + T &operator[](qsizetype i) { return this->d[i]; } - inline const T &operator[](int i) const + const T &operator[](qsizetype i) const { return this->d[i]; } |