summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qscopedpointer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename qscopedpointer.cpp -> qscopedpointer.qdocJoerg Bornemann2024-12-191-323/+0
| | | | | | | | | | It only contains qdoc blocks and wasn't even listed in SOURCES. Also changed the license to be in line with QUIP-18. Pick-to: 6.9 6.8 6.5 Change-Id: I2c90300ddfd47c3f693dc84cb86f326fa185dd84 Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
* Doc: fix deprecation version for QScopedPointer's member-swap()Ivan Solovev2024-11-141-1/+1
| | | | | | | | | | | The code tells that it's deprecated in 6.2, while the docs were mentioning 6.1. Update the docs to use the correct deprecation version. Amends 1bf48c16b166c80d208f130fb4f8130f63ef741c. Pick-to: 6.8 6.5 6.2 Change-Id: I4ec3b8e840ec5aa534ea1f2687a23584178bb4a6 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* [docs] Add missing docs for QScopedPointer::swap()Marc Mutz2024-11-081-0/+9
| | | | | | | | | Only the ADL swap was documented, but this class has member-swap, too (albeit deprecated), so document it. Pick-to: 6.8 6.7 6.5 6.2 Change-Id: I71a6636172170387c9e4a264d2d118c2a9ce6f91 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Create qdoc macros for C++ class docs 1.2: member-swap(), simplified phrasingMarc Mutz2024-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have some patterns for how to document certain functions, but we also vary the sentences a lot, and you have to look up one documentation piece and copy it, essentially. If we ever want to change them, we end up with shotgun surgery. So apply DRY to the documentation and start a collection of macros to help with repetitive C++ class documentation tasks. The first macro is for member-swap(), and this second patch is for documentation that used the simplified phrasing ("Swaps this X with \a other."), which this patch adopts as the text for \memberswap, too, because it doesn't repeat the macro argument, making it easier to find a grammatically-fitting argument than in the traditional phrasing. This doesn't change the documentation, except as follows: * standardizes on simpified instead of traditional phrasing for docs that already use the \memberswap macro * adds the "very fast and never fails" blurb, if it was missing * changes the function's argument name to `other`, as required by the macro. Task-number: QTBUG-129573 Pick-to: 6.8 6.7 6.5 6.2 Change-Id: I1123e783ce0da76c5997ff74007d77504ac5b334 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Docs: Fix QScoped(Array)Pointer::swap() deprecation versionIvan Solovev2024-10-281-2/+2
| | | | | | | | | | | | The code tells that it was deprecated since 6.2, but the docs were incorreclty mentioning 6.1. Fix it. Amends fe9d7bf759d116f99131d14ac8b1fb44b2bc62fd and a2c8184b6b241b063e9af005edf082e653dfd8a6. Pick-to: 6.8 6.5 6.2 Change-Id: Icff14ccc5d581d27d721241e8d594ac9fad8e7a6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Fix \fn template arguments for Qt CoreLuca Di Sera2023-11-301-1/+1
| | | | | | | | | Upcoming changes to QDoc require accurate definition for template arguments in \fn commands. Task-number: QTBUG-118080 Change-Id: I64d50919bc6ffab61ef5ead553d1da99d63a9f21 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Doc: Fix template information for a QScopedArrayPointer constructorLuca Di Sera2023-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QDoc parses a project, it parses the source code to extract the user-provided documentation and perform sanity checkings based on the code itself on it. When QDoc parses an "\fn" command as part of this process, it tries to understand, based on its intermediate representation built on the information extracted from the code-base, which "documentable element" the "\fn" refers to. When QDoc performs this "matching" process, it takes into consideration only a certain amount of information. For example, no checking is performed over the template declaration of a callable. Due to some upcoming documentation, where two callables are indistinguishable to the current process, as they differ only in their template declaration, QDoc will start to take into consideration the template declaration of a callable when matching. This implies that an "\fn" command should now provide information parity, with regards to template declaration for callables, with the code-base so that QDoc can perform the match correctly. The documentation for `QScopedArrayPointer::QScopedArrayPointer(D*)` is not in sync with the intended target template declaration. Hence, add the missing information to the relevant "\fn" command. Task-number: QTBUG-118080 Change-Id: Icf4178989952bbc7dac9a0e8b7cfd031eed3a9d2 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* QScopedArrayPointer: port to qsizetypeMarc Mutz2022-08-261-2/+8
| | | | | | | | | | | [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>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Doc: Ensure deprecated APIs in Qt Core are documented as suchNico Vertriest2021-07-231-3/+3
| | | | | | | | | | Added \deprecated [version_since] when needed Remove references to deprecated functions in \sa statements Fixes: QTBUG-94534 Pick-to: 6.2 Change-Id: I3b3d4277d63fc5d6d207c28ff2484aed30b83247 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Use \deprecated instead of \obsoletePaul Wicking2021-05-261-3/+3
| | | | | | Task-number: QTBUG-93990 Change-Id: I4e512354a49dde6678ca89cabc56bc76ba666bb3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QScopedPointer: remove doc mention of take()Giuseppe D'Angelo2021-05-061-3/+0
| | | | | | | | It is deprecated so it shouldn't get mentioned by the ordinary docs. Pick-to: 6.1 Change-Id: Ic867fd45396871245d6f5714f6a886c706e99c04 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QScopedPointer: deprecate swapGiuseppe D'Angelo2021-03-041-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Follow up of 612a01be6513894ab1ec5a36b699a2142ba7f35c (deprecating QSP::take()): for the same reasons, swap() functions do not belong to QScopedPointer, or they would allow the pointer to escape: QScopedPointer a; { QScopedPointer b = ~~~; qSwap(a, b); } // b's pointer escaped its scope Deprecate them as well. [ChangeLog][QtCore][QScopedPointer] QScopedPointer swapping functions have been deprecated, as they would allow the managed pointer to escape the scope. If you need those semantics, use std::unique_ptr instead. Change-Id: I2b0938b62f2ef5a3561f61f595a3fb4c505a8f08 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Deprecate QScopedPointer::take()Giuseppe D'Angelo2020-11-201-0/+2
| | | | | | | | | | | | | | | | | | | We've decided that QScopedPointer shouldn't be movable, because it would break the semantics of being "scoped" (the pointer/pointee won't survive the scope). Then, QScopedPointer shouldn't allow for take() either. If you need those semantics, reach for unique_ptr. [ChangeLog][QtCore][QScopedPointer] The take() function has been deprecated. This was an API mistake, as it allowed the pointer/pointee to escape from the scope, defeating the point of the QScopedPointer class. If you need such semantics, use std::unique_ptr (and call release()). Change-Id: I3236f085f763b04eb98e3242abc06f7c54fb3d8b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QScopedPointer comparison operators hidden friendsVolker Hilsheimer2020-10-311-13/+9
| | | | | | | | Reduce overload resolution noise. Fixes: QTBUG-87979 Change-Id: I52f96e016ffaf1b4f2235a05c1175c5af3eebe36 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Another round of replacing 0 with nullptrAllan Sandfeld Jensen2020-10-071-2/+2
| | | | | | | | | This time based on grepping to also include documentation, tests and examples previously missed by the automatic tool. Change-Id: Ied1703f4bcc470fbc275f759ed5b7c588a5c4e9f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: replace even more null/0/nullptr with \nullptr macroChristian Ehrlicher2019-05-081-22/+15
| | | | | | | | Try to replace all wordings like '.. to 0' with '.. to \nullptr'. Also checked for 'null pointer' and similar. Change-Id: I73341f59ba51e0798e816a8b1a532c7c7374b74a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: improve QScopedPointer::reset() documentationMitch Curtis2018-03-081-1/+4
| | | | | | | | - Fix grammar - Mention take() Change-Id: I3bde229755549230ad3d0962da6eeb164a060fb1 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* doc: Correct remaining qdoc warnings in a few filesMartin Smith2018-01-051-1/+1
| | | | | | | | Added missing template clause to \fn commands required by clang-qdoc in qsharedpointer.cpp, qscopedpointer.cpp, and qstringbuilder.cpp. Change-Id: Ifca5b81db96e678a53e40080d351c69f14db604a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Add template text to \fn commands in QScopedPointerMartin Smith2017-12-081-22/+26
| | | | | | | | | The \fn commands were not recognized by clang-qdoc because the template stuff was missing from the \fn commands. This update adds the correct template text and parameters. Change-Id: If45465880933174f1481a8be292474be191cfd45 Reviewed-by: Martin Smith <martin.smith@qt.io>
* QScopedPointer: add get()Giuseppe D'Angelo2017-09-171-0/+7
| | | | | | | | | | | For self-consistency with QSharedPointer and minor consistency with std::unique_ptr (although QScopedPointer isn't movable, so we can't claim STL compatibility with it). [ChangeLog][QtCore][QScopedPointer] Added get(). Change-Id: Ib58f936afa0e0d5bce57a61d1467b69956f37ceb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QScopedArrayPointer: document the most important ctorMarc Mutz2017-06-061-3/+3
| | | | | | | | | | | | The ctor that everyone would want to use was marked as \internal, probably because of the SFINAE expression appearing in its signature. Move the SFINAE to the template argument list, which QDoc hides from the user, and drop the \internal. While at it, drop the home-grown std::is_same re-implementation and use the real deal. Change-Id: Ia357fe65f94e10ac9eeccb3490aa8b3e68114cbb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: fix grammar in QScopedPointer's detailed descriptionMitch Curtis2017-05-231-1/+1
| | | | | Change-Id: I3ce9650d62f3b53683c6b6f210c1413e94ae006c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSharedPointer/QWeakPointer/QScopedPointer: add comparison against nullptrGiuseppe D'Angelo2016-06-081-0/+42
| | | | | | | | Some constructors were added, but the comparison operators were missing. The STL has them, so we ought have them too. Change-Id: I030c14a3b355988f509716b4b1b1a835b3ab9481 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Doc: added doc to undocumented functionsNico Vertriest2015-05-181-0/+7
| | | | | | | Task-number: QTBUG-36985 Change-Id: Ia98654f88cf5da77245b3fcd903b860d12862fc2 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Doc: Use title case in section1 titlesNico Vertriest2014-09-301-1/+1
| | | | | | | | Using Python script title-cased.py Task-number: QTBUG-41250 Change-Id: I00d3d7a0b30db7304a7904efd6d63abd9a7b493b Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-4/+4
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix grammar in QScopedPointer.Mitch Curtis2013-09-301-1/+1
| | | | | | | have => has Change-Id: Ib77110b8ffd2f970e15c2159480e56be9ef964ca Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Revert "Implement move-ctor and move-assignment-op for QScopedPointer"Stephen Kelly2013-09-051-25/+0
| | | | | | | | | | | | | | | This reverts commit 5b9006bbdba7dcab01b8e640554a7d7a4b64f76b. Also revert "Doc: Enable documentation for QScopedPointer's rvalue ref functions" This reverts commit 5f8416ec659b134db90df7e7f857db77fd27b6ab. Adding a move contructor to QScopedPointer makes no sense, because moving means 'escaping the scope', which breaks the fundamental point of QScopedPointer. Change-Id: I4ac1b108bf199af6e436fa1629aa2d3b93c27724 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: Enable documentation for QScopedPointer's rvalue ref functionsTopi Reinio2013-08-301-3/+1
| | | | | | | | | | Make the documented QScopedPointer functions that take rvalue references visible in the documentation. Task-number: QTBUG-32675 Change-Id: If65af91d9379a6c0486e43c33434cca8505fc5c3 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* add QScopedPointerDeleteLater, a custom deleter for QObjectsMatt Broadstone2013-08-121-0/+3
| | | | | | | | | | This is a custom deleter for QObjects that are participating in an event loop (e.g. waiting for signals to complete a task), which need to be deleted using deleteLater() rather than just delete. Change-Id: I3084ea28a6829a299c7400006c617fc23cf15160 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Implement move-ctor and move-assignment-op for QScopedPointerGiuseppe D'Angelo2013-07-281-0/+27
| | | | | | | | | | | | | | | | | | | | | It makes sense for a QScopedPointer to be movable, for instance for allowing instances to be returned from a function. Ownwership of the managed pointer is still tied to one (and one only) QScopedPointer instance. Moreover, a move assignment operator makes sense as well, as it implementing the equivalent of this->reset(other.take()); only when other is a rvalue and not a lvalue (so either it's a temporary or it's getting explicitly moved in with std::move). This makes QScopedPointer API's a bit closer to std::unique_ptr's one. Task-number: QTBUG-29754 Change-Id: If1ac0c688327a67af4ad5b7ad45b439b022ed1c6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Doc: Add \inmodule QtCore to all QtCore class doc bodiesThiago Macieira2012-08-231-0/+2
| | | | | Change-Id: I19100755c97cc155c76a859e19940e9f9222d34e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Doc: Prepare for building modular QtCore docs.Casper van Donderen2012-04-191-6/+6
| | | | | | | | | | | | This change fixes most qdoc errors in QtCore. There are about 900 left. The main thing this change does is moving documentation from qtcore from /doc/src to /src/corelib/doc. Other issues resolved are mis-use of qdoc commands. Change-Id: I002d01edfb13575e8bf27ce91596a577a92562d1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-021-3/+3
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Doc: Applied pending fixes to API documentation.David Boddie2011-05-231-3/+2
|
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+283
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12