summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
Commit message (Collapse)AuthorAgeFilesLines
* QList: don't detach on squeeze when holding raw dataMårten Nordheim9 hours1-1/+3
| | | | | | | | | To match QString and QByteArray behavior Change-Id: Ifce4a5dee6fc9077e855a24499f11f911e359cf5 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QList: Remove CapacityReserved on squeezeMårten Nordheim9 hours1-0/+3
| | | | | | | | | | Even if we don't reallocate or detach. Change-Id: I44928c261f037b304de8ee6135b96f00dd217c51 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* Remove workaround for MSVC 2008Allan Sandfeld Jensen10 hours2-82/+8
| | | | | | | We don't build on platforms without stdint.h Change-Id: Iee9de3e71a7bcae524f2d1377919cf074a713960 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix ubsan errorsAllan Sandfeld Jensen19 hours1-0/+6
| | | | | | | | Nullptr memcpy, memmove and 36 bit shift of integer. Change-Id: Ib79c8a98a710d021fc93b6aaec6c0ba9bde5f91e Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Switch QBitArray to qsizetypeAllan Sandfeld Jensen34 hours3-96/+96
| | | | | | | To make it consistent with other containers in Qt6. Change-Id: I5578845390248baf80daa282237b706857e57661 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Switch QCache costs to qsizetypeAllan Sandfeld Jensen34 hours2-24/+24
| | | | | | | | Since size is already qsizetype and costs is multipla of size, it seems costs should be qsizetype as well. Change-Id: Iae85baaba5842460358e369a666fef6ebb7e52b4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix some qdoc warnings from QHash and QMultiHashVolker Hilsheimer2 days1-21/+8
| | | | | | | | | | | | | | It's no longer possible to decrement an iterator, and the class uses qsizetype, not int for sizes. Fix incorrect function prototypes in the documentation, and remove documentation for functions/overloads that don't exist. QMultiHash doesn't have Java style iterators (not a new issue in Qt 6), so remove the references to QMultiHashIterator. Change-Id: I149b4620963f2087f3f66bb70a9c97b292a35378 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Replace Q_REQUIRED_RESULT with [[nodiscard]]Allan Sandfeld Jensen5 days10-93/+80
| | | | | | | It was already used many places directly making the code inconsistent. Change-Id: I3b14bc6c333640fb3ba33c71eba97e78c973e44b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QScopedValueRollback: code tidiesGiuseppe D'Angelo6 days1-5/+7
| | | | | | | Add constexpr + deploy std::exchange. Change-Id: I4c5e6f5d35cd74c464667f633344d27c0656f0eb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Documentation: purge QSet and QHash members that no longer existVolker Hilsheimer7 days2-433/+54
| | | | | | | | | | | | QMutableSet/HashIterator can not walk backwards, neither can the STL iterator. When function documentation was shared with other iterator types, move it into separate section to avoid linking to incorrect see-alsos. Remove or fix other member function documentation that had errors, e.g. in parameter types after move to qsizetype. Change-Id: Ic7f97a295eff63ee748998b10f08a160706fa650 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix some qdoc warnings: function names in "see also"Volker Hilsheimer8 days1-4/+4
| | | | | Change-Id: I6b2b444ccc4de6629d800933802ffa8f75682b96 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix various qdoc warningsVolker Hilsheimer8 days1-2/+2
| | | | | | | Parameter types and names, missing enum values, and \since 6.0. Change-Id: I1b028fcf2ef0b57accb1ef7cebf17dab9f6d571e Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Fix some qdoc warnings: typos and qdoc syntaxVolker Hilsheimer9 days1-2/+2
| | | | | Change-Id: Idf5c1490330e0f2e5d4bcf920eb03fc9993b3c8a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove some deprecation comments from qmap.hEdward Welbourne9 days2-7/+5
| | | | | | | | | Lars says documenting that the methods are slow is sufficient, no need to deprecate them. Task-number: QTBUG-85700 Change-Id: I7b1d19e91e30205df7d8198e3704cecc72a853e0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Define inverted QRects consistentlyAllan Sandfeld Jensen9 days2-84/+100
| | | | | | | | | | | | | | | | Changes the definition of invalid QRects to be more consistent. This simplifies the logic, and makes it possible for us to fix normalized() so dimensions don't change. The actual API is not changed except for inverted rects. Only one use-case for the old normalized() function existed, and has been reimplemented as QRect::span(). Fixes: QTBUG-22934 Change-Id: I29dad2952dc6c8e84a6d931898dc7e43d66780f3 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Update QList's documentation relevant to prepend optimizationAndrei Golubev9 days1-38/+65
| | | | | | Task-number: QTBUG-84320 Change-Id: I550f9dd7810855df0b0cc2bcbc78a97d6abaac7a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix a bunch of qdoc warnings from QList typesVolker Hilsheimer9 days2-0/+11
| | | | | | | | | | For documentation purposes, we treat QList, QByteArrayList, and QStringList as simple classes, whereas reality is a bit more complicated. We conditionally change the declaration of the types for qdoc runs, and need to be consistent to avoid a flood of warnings from clang when building documentation. Change-Id: I22d529079e10f8fd3d93edc771e5f05729fa925f Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Rename QVarLengthArray's private realloc() to reallocate()Jesko von Monkiewitsch11 days1-8/+8
| | | | | | | | | | | | | This will enable run-time debugging on Windows, using _CRTDBG_MAP_MALLOC, which uses #define to override the standard library memory management functions, including realloc. Fixes: QTBUG-86395 Change-Id: I51975dd74cab0ae8309436c86d17a59074c561e1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Rename size parameter to QCommonArrayOps::sizeToInsertAtBegin()Ulf Hermann14 days1-8/+8
| | | | | | | | | ... in order to avoid a bogus compiler warning. Change-Id: I25eb435d6d57bdd5ef5c05ccacb0e6413631f6c9 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Only include <bit> if using post C++17Allan Sandfeld Jensen2020-09-151-1/+1
| | | | | | | Otherwise we hit an #error statement in MSVC standard library. Change-Id: Ib029edf0be8513a80f2640fd9ca75541615a0448 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add qHash implementation for QPointMitch Curtis2020-09-152-0/+15
| | | | | | | | | [ChangeLog][QtCore][QPoint] Added qHash() implementation. Change-Id: I65332e7aafab53af40a6e11457b9b457196d584c Fixes: QTBUG-86457 Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use universal C++20 bit operations when availableAllan Sandfeld Jensen2020-09-131-17/+49
| | | | | | | Avoids using compiler builtins, and can in future replace them. Change-Id: I3f0afe7d28b6ba05bcd1c1132b44a8db7b182d8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QStringList an alias to QList<QString>Lars Knoll2020-09-122-17/+28
| | | | | | | | | | | | | | | | | | Fix our API, so that QStringList and QList<QString> are the same thing. This required a bit of refactoring in QList and moving the indexOf(), lastIndexOf() and contains() method into QListSpecialMethods. In addition, we need to ensure that the QStringList(const QString&) constructor is still available for compatibility with Qt 5. Once those two are done, all methods in QStringList can be moved into QListSpecialMethods<QString>. Change-Id: Ib8afbf5b6d9df4d0d47051252233506f62335fa3 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix generated forward declarations in qdbusxml.cppLars Knoll2020-09-121-0/+4
| | | | | | | Simply use qcontainerfwd.h, instead of declaring those manually. Change-Id: I6d87bf14b60469b457e8e9335868f8cdb0303817 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix possible corner cases in qarraydataops.hAndrei Golubev2020-09-101-9/+11
| | | | | | | | | | | | | | | Updated moveNonPod function to behave correctly under exceptions being thrown. This is the version that was implemented at some point but then got changed prior to merge. Added tests for moveInGrowthDirection (which uses moveNonPod in general case) to verify that range movements are correctly done Updated QCommonArrayOps access modifier from private to protected to allow testing of internal stuff by subclassing Task-number: QTBUG-84320 Change-Id: Idb994a72ee601762e32248670cdc7819aaca0088 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Make Q*ArrayOps erase aligned with std::vector::eraseAndrei Golubev2020-09-101-5/+5
| | | | | | | | | | | Scoped GrowsBackwards-optimized erase to only be applied when erase starts at the beginning of the element range. In other cases, old "left-shifting" erase is used to align with std::vector::erase invalidation policy Task-number: QTBUG-84320 Change-Id: I2e7f3b96b056bc371119eb2d36cc7c74af52c394 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QCommonArrayOps: append when inserting into empty containerAndrei Golubev2020-09-071-3/+3
| | | | | | | | | | | Ensured append is chosen instead of prepend for corner cases when inserting into an empty container Mirrored the logic in shouldGrowBeforeInsert function Task-number: QTBUG-84320 Change-Id: I1c963a2588c331029e450fe55001bbf324f65fb4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QList/QString/QByteArray: no prepend optimized allocation when emptyAndrei Golubev2020-09-071-4/+3
| | | | | | | | | | | | | | | | | | Scoped prepend optimized allocation to only work when prepending into a non-empty container. Otherwise, even appends would be considered prepends since d.size == 0 when container is empty This is, of course, not good for prepend cases but we prefer appends over prepends. My proposal is to figure out what's the best strategy based on use cases and performance measurements. For now, let's just make sure appends are not additionally pessimized Anyhow, this is an implementation detail and should not be considered behavior change (at least not the one that is user noticeable) Task-number: QTBUG-84320 Change-Id: Ibed616a2afa9bc24f78252f15a617bf92e2c6ea3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Update QList's documentation bitsAndrei Golubev2020-09-071-44/+43
| | | | | | | | Fixed some QList documentation that described old API/behavior Change-Id: I9101ebb7bed9bcac328509765f8e9b85d63d305b Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Get rid of the MSVC specific fileLars Knoll2020-09-052-54/+0
| | | | | | | | | It used to contain the MSVC specific export hack for QVector, but that one is not required in Qt 6 anymore and the file was not doing anything anymore. Change-Id: Ic8b4aa355a8934beb6abcf10235d218344a294cc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QList/QByteArray/QString: Base GrowsBackwards heuristic on old sizeMårten Nordheim2020-09-031-2/+2
| | | | | | | | | | | If you grow from 10 to 100 characters then even if the point of insertion was the end then it will get the GrowsBackwards option on realloc. By basing it on the oldSize the intention of the position to insert at is better clarified. Change-Id: Ia73f4902e8356d94709556de5704cbfa0e1a3a56 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Long live QKeyCombination!Giuseppe D'Angelo2020-09-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++20 via P1120 is deprecating arithmetic operations between unrelated enumeration types, and GCC 10 is already complaining. Hence, these operations might become illegal in C++23 or C++26 at the latest. A case of this that affects Qt is in key combinations: a QKeySequence can be constructed by summing / ORing modifiers and a key, for instance: Qt::CTRL + Qt::Key_A Qt::SHIFT | Qt::CTRL | Qt::Key_G (recommended, see below) The problem is that the modifiers and the key belong to different enumerations (and there's 2 enumerations for the modifier, and one for the key). To solve this: add a dedicated class to represent a combination of keys, and operators between those enumerations to build instances of this class. I would've simply defined operator|, but again docs and pre-existing code use operator+ as well, so added both to at least tackle simple cases (modifier + key). Multiple modifiers create a problem: operator+ between them yields int, not the corresponding flags type (because operator+ is not overloaded for this use case): Qt::CTRL + Qt::SHIFT + Qt::Key_A \__________________/ / int / \______________/ int Not only this loses track of the datatypes involved, but it would also then "add" the key (with NO warnings, now its int + enum, so it's not mixing enums!) and yielding int again. I don't want to special-case this; the point of the class is that int is the wrong datatype. Everything works just fine when using operator| instead: Qt::CTRL | Qt::SHIFT | Qt::Key_A \__________________/ / Qt::Modifiers / \______________/ QKeyCombination So I'm defining operator+ so that the simple cases still work, but also deprecating it. Port some code around Qt to the new class. In certain cases, it's a huge win for clarity. In some others, I've just added the necessary casts to make it still compile without warnings, without attempting refactorings. [ChangeLog][QtCore][QKeyCombination] New class to represent a combination of a key and zero or more modifiers, to be used when defining shortcuts or similar. [ChangeLog][Potentially Source-Incompatible Changes] A keyboard modifier (such as Qt::CTRL, Qt::AltModifier, etc.) should be combined with a key (such as Qt::Key_A, Qt::Key_F1, etc.) by using operator|, not operator+. The result is now an object of type QKeyCombination, that stores the key and the modifiers. Change-Id: I657a3a328232f059023fff69c5031ee31cc91dd6 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QString/QList: disregard space at front during reserve()Andrei Golubev2020-09-021-2/+2
| | | | | | | | | | Aligned QString, QList to the new agreed upon behavior Aligned QList::resize() along the way to be consistent with QString/QBA Task-number: QTBUG-84320 Change-Id: Ie9d7b4b6ebe54bd373af78d92906144b383bbfe2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix an annoying compiler warning on MSVCLars Knoll2020-09-021-1/+1
| | | | | | | | Fix a warning about truncating a const through a static_cast on MSVC. Change-Id: I381ce806d602c006ef6f14eb4fc89716bc5403ae Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix include style violation in qline.hFriedemann Kleint2020-09-021-1/+1
| | | | | | | | Amends c0d0949448c5a75d50ca189974d4d9f48133aea8. Pick-to: 5.12 5.15 Change-Id: Ie220a245ae2000af6e52c000c6836b9830c56de6 Reviewed-by: hjk <hjk@qt.io>
* QWeakPointer: purge deprecated APIEdward Welbourne2020-08-311-23/+0
| | | | | | | | Since 5.0: assignment/construction from QObject pointer Since 5.14: data() to recover the packaged pointer Change-Id: I5d6ab561ce39bc0d9d3e5035eb2ca38139cd76b6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qarraydataops: Fix compiler warnings under MSVC 2019.7Marcel Krems2020-08-291-25/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | qarraydataops.h(444): warning C4127: conditional expression is constant qarraydataops.h(444): note: consider using 'if constexpr' statement instead ... qabstractitemmodel.h(261): note: see reference to class template instantiation 'QList<int>' being compiled qarraydataops.h(1209) : warning C4702: unreachable code qarraydataops.h(1104): warning C4913: user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used src/corelib/kernel/qobjectdefs_impl.h(96): note: could be 'void QtPrivate::operator ,<std::reverse_iterator<QTypedArrayData<T>::iterator>>(std::reverse_iterator<QTypedArrayData<T>::iterator>,const QtPrivate::ApplyReturnValue<void> &)' with [ T=QTextEdit::ExtraSelection ] qarraydataops.h(1104): note: while trying to match the argument list '(std::reverse_iterator<QTypedArrayData<T>::iterator>, std::reverse_iterator<QTypedArrayData<T>::iterator>)' with [ T=QTextEdit::ExtraSelection ] ... codeedit.cpp(84): note: see reference to class template instantiation 'QList<QTextEdit::ExtraSelection>' being compiled Change-Id: I3c5007e40f709c28bc8b3b3bec5ea98ea5f34e5a Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove MSVC workaround for QPolygonMarcel Krems2020-08-292-67/+0
| | | | | Change-Id: I62f7c6da7629dcdfda653a136d3bcd483359c86c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Reserve extra space for '\0' in QArrayData::allocateAndrei Golubev2020-08-291-0/+30
| | | | | | | | | | | Added implicit space reservation for '\0' in allocation functions used by containers. In current setting, this means sizeof(char16_t) bytes extra memory is allocated each time and implicitly exists. The extra memory is uninitialized by default Task-number: QTBUG-84320 Change-Id: Ia3cc268183c00ea24ea9d326db3f392f71868d52 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QLine: swap IntersectType and IntersectionTypeEdward Welbourne2020-08-282-12/+6
| | | | | | | | | | | Make IntersectionType the enum and the obsolete IntersectType an alias, with at least a comment to say it's deprecated. Adjust the docs to match. Task-number: QTBUG-85700 Change-Id: I0de9166b0d936f5b9a15fdd4f90cf7b01198e8d7 Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Purge qalgorithm.h of deprecated APIEdward Welbourne2020-08-282-1023/+6
| | | | | | | | | | | | | A large slice of it has been deprecated since 5.2. Reflowed a doc paragraph pointed out, in the deprecation commit, as having been left ragged by its edits. Note: qSwap() is documented as \deprecated but not marked, where it's defined, as deprecated. Change-Id: Iaff10ac0c4c38e5b85f10eca4eedeab861f09959 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QTimeLine's curveShapeEdward Welbourne2020-08-282-101/+1
| | | | | | | | | | | Deprecated in 5.15.1, removed in Qt 6. It is entirely redundant with easingCurve, which has been there since 4.6. Task-number: QTBUG-85520 Change-Id: Ib1daa322a17da390dd264ed8d48ac572138a5d84 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Change QByteArray to handle large arraysLars Knoll2020-08-271-3/+1
| | | | | | | | | | Use qsizetype throughout. Change-Id: I787af7fcfa17e1be87decb64c41c609cc24be117 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update allocation interface of QArrayDataPointerAndrei Golubev2020-08-273-8/+11
| | | | | | | | | | | | | Added overload to allocGrow that figures the capacity to allocate from the newSize argument passed. This is useful in QList (and likely in other places) Fixed QArrayPodOps::reallocate as a drive by: don't call memmove when it is not needed Task-number: QTBUG-84320 Change-Id: I67efe55a60efaf3ab6057b0249d6a446e04a09e3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make *ArrayOps::createInPlace protectedAndrei Golubev2020-08-271-5/+12
| | | | | | | | | | No user of QArrayDataPointer functionality must use createInPlace. This is a special function to be called by the internal logic. It's usage is unsafe with prepend optimization in place Task-number: QTBUG-84320 Change-Id: Idc0e82975a98e799272bdb61fe7828b3c8c67e8d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support GrowsBackwards prepend in QListAndrei Golubev2020-08-271-12/+10
| | | | | | | | | | | | | Restored previously deleted logic of setting GrowsBackwards flag for prepend-like cases. This should be sufficient to fully enable prepend optimization Fixed QList::emplace to not use implementation detail logic. Updated tests to cover changed behavior and its correctness Task-number: QTBUG-84320 Change-Id: I4aadab0647fe436140b7bb5cf71309f6887e36ab Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Add prepend optimization to QCommonArrayOpsAndrei Golubev2020-08-272-52/+449
| | | | | | | | | Introduced prepend optimization logic to QCommonArrayOps. Trying to rely on original QList behavior Task-number: QTBUG-84320 Change-Id: I46e6797b4edad804a3e3edb58307c9e96990fe01 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Support GrowsBackwards flag in QArrayDataPointerAndrei Golubev2020-08-274-13/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | Introduced allocation function in QArrayDataPointer with interface similar to QArrayData::allocate that supports growing strategies. This func is used instead of the original in cases when prepend-aware storage is needed. Tried to follow Qt5 QList policy in terms of space reservation Updated QPodArrayOps::reallocate to be aware of growing shenanigans. It doesn't look like a perfect solution but it is rather close and similar to what Qt6 QList is doing when not growing (e.g. reserve/squeeze) Added initial QCommonArrayOps with helper function that tells when reallocation is preferable over just using the insert-like operation. This comes up later on when GrowsBackwards policy is properly supported in operations Essentially, 2/3 main data management blocks for prepend optimization are introduced here. The last one being a generalized data move that is done instead of reallocation when existing free space is not enough Task-number: QTBUG-84320 Change-Id: I9a2bac62ad600613a6d7c5348325e0e54aadb73d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Smart pointers: port to explicit operator boolGiuseppe D'Angelo2020-08-262-14/+4
| | | | | | | | | | | | | Enough with the restricted bool trick; use the established solution. [ChangeLog][Potentially Source-Incompatible Changes] QScopedPointer, QSharedPointer and QWeakPointer's conversion operator towards bool is now explicit. In some cases this may require an explicit cast towards bool that was not needed before (notably, when returning an object of these types from a function that actually returns bool). Change-Id: I02b89278e75b7e7493ee7e35460504719e00f028 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cleanup QTypeInfoLars Knoll2020-08-263-8/+8
| | | | | | | | | | | | | | | Remove QTypeInfo::isStatic, as that's not used anymore in Qt 6. Also remove sizeOf, it's unused, and we have QMetaType for that if required. Remove all typeinfo declaractions for trivial types, as the default template covers them correctly nowadays. Finally set up a better default for isPointer, and do some smaller cleanups all over the place. Change-Id: I6758ed37dfc701feaaf0ff105cc95e32da9f9c33 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>