qt5base-lts/tests/auto/corelib/tools
Thiago Macieira a3aa2fcfa7 Introduce the Mutable flag and move QArrayDataPointer::needsDetach
The Mutable flag now contains the information on whether the data this
QArrayData points to is mutable. This decouples the mutability /
immutability setting from the allocation and from the type of data,
opening the way for mutable raw or foreign data.

There are still plenty of places in the source code that check the
size of the allocation when it actually wants d->isMutable(). Fixing
this will require reviewing all the code, so is left for later.

The needsDetach() function is moved to QArrayData and
de-constified. It returns true when a reallocation is necessary if the
data is to be modified.

Change-Id: I17e2bc5a3f6ef1f3eba8a205acd9852b95524f57
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-12-08 10:29:01 +01:00
..
collections Eradicate Q_FOREACHs over QVarLengthArray 2019-11-05 09:53:32 +02:00
containerapisymmetry Get rid of QT_STRICT_ITERATORS 2019-11-04 12:52:26 +00:00
qalgorithms Remove usages of deprecated APIs of corelib 2019-07-05 11:25:46 +02:00
qarraydata Introduce the Mutable flag and move QArrayDataPointer::needsDetach 2019-12-08 10:29:01 +01:00
qbitarray QBitArray: fix fromBits() and actually test it 2019-08-08 20:27:04 -07:00
qcache Updated license headers 2016-01-21 18:55:18 +00:00
qcommandlineparser Remove usages of deprecated APIs of corelib 2019-07-05 11:25:46 +02:00
qcontiguouscache Port from QAtomic::load() to loadRelaxed() 2019-06-20 20:48:59 +02:00
qcryptographichash QCryptographicHash: Add a static method to retrieve hash length 2018-04-10 12:17:43 +00:00
qeasingcurve Fix QEasingCurve possible imprecision at endpoints 2019-10-11 12:29:27 +02:00
qexplicitlyshareddatapointer Add nullptr comparison to Q{Explicitly,}SharedDataPointer 2018-03-18 17:28:26 +00:00
qfreelist Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qhash Get rid of unsharable containers 2019-10-30 16:39:37 +01:00
qhashfunctions qhashfunctions.h: add specializations of std::hash for some Qt types 2019-05-29 11:22:20 +02:00
qline Remove the remaining usages of deprecated APIs of qtbase 2019-08-01 06:48:27 +02:00
qlinkedlist Get rid of unsharable containers 2019-10-30 16:39:37 +01:00
qmacautoreleasepool Add missing dependencies for tst_qmacautoreleasepool 2018-08-29 02:47:45 +00:00
qmakearray corelib/tools: add qMakeArray() API 2018-07-25 06:57:44 +00:00
qmap Get rid of QT_STRICT_ITERATORS 2019-11-04 12:52:26 +00:00
qmargins Updated license headers 2016-01-21 18:55:18 +00:00
qmessageauthenticationcode Updated license headers 2016-01-21 18:55:18 +00:00
qoffsetstringarray corelib/tools: Fix auto detection of QOffsetStringArray::m_offset type 2018-08-28 14:42:46 +00:00
qpair core: Add deduction guides for QPair 2019-03-25 19:48:29 +00:00
qpoint QPoint/F: add transposed() 2019-08-07 23:09:06 +03:00
qpointf QPoint/F: add transposed() 2019-08-07 23:09:06 +03:00
qqueue Updated license headers 2016-01-21 18:55:18 +00:00
qrect Improve rounding of QRect::toRect 2017-06-26 21:35:38 +00:00
qringbuffer QRingBuffer: avoid reallocations of the data 2017-12-30 10:15:10 +00:00
qscopedpointer Port from QAtomic::load() to loadRelaxed() 2019-06-20 20:48:59 +02:00
qscopedvaluerollback Use move more consistently in QScopedValueRollback 2019-03-27 07:56:15 +00:00
qscopeguard tst_QScopeGuard: Remove unused lambda capture 2019-11-19 18:33:43 +02:00
qset Get rid of QT_STRICT_ITERATORS 2019-11-04 12:52:26 +00:00
qsharedpointer Merge remote-tracking branch 'origin/5.13' into 5.14 2019-10-24 10:23:44 +02:00
qsize Long live QSize(F)::grownBy/shrunkBy() 2019-08-22 11:38:54 +02:00
qsizef Long live QSize(F)::grownBy/shrunkBy() 2019-08-22 11:38:54 +02:00
qstl Updated license headers 2016-01-21 18:55:18 +00:00
qtimeline Update for failures only on dev branch. Use general platform names 2019-08-19 18:22:11 +02:00
qvarlengtharray Eradicate Q_FOREACHs over QVarLengthArray 2019-11-05 09:53:32 +02:00
qvector Get rid of unsharable containers 2019-10-30 16:39:37 +01:00
qversionnumber Remove handling of missing Q_COMPILER_INITIALIZER_LISTS 2019-05-02 23:10:55 +00:00
tools.pro Get rid of QT_STRICT_ITERATORS 2019-11-04 12:52:26 +00:00