From 3705c1263d4d2232d5527361692d25a8519c222b Mon Sep 17 00:00:00 2001 From: Geir Vattekar Date: Thu, 26 Sep 2013 12:16:39 +0200 Subject: Doc: Add docs for rvalue references and move constructors These members were introduced in 4.8, but left undocumented. Because we consider undocumented API to be internal, the members are \since 5.2. Change-Id: I52e2840a8cfaa7f59f410b3e2a06c0942ea06539 Reviewed-by: Jerome Pasion Reviewed-by: Stephen Kelly --- src/corelib/io/qdir.cpp | 8 +++++++ src/corelib/io/qfileinfo.cpp | 8 +++++++ src/corelib/io/qurl.cpp | 17 ++++++++++++++ src/corelib/io/qurlquery.cpp | 8 +++++++ src/corelib/itemmodels/qabstractitemmodel.cpp | 17 ++++++++++++++ src/corelib/kernel/qvariant.cpp | 17 ++++++++++++++ src/corelib/mimetypes/qmimetype.cpp | 8 +++++++ src/corelib/tools/qbitarray.cpp | 17 ++++++++++++++ src/corelib/tools/qbytearray.cpp | 17 ++++++++++++++ src/corelib/tools/qcommandlineoption.cpp | 8 +++++++ src/corelib/tools/qcontiguouscache.cpp | 8 +++++++ src/corelib/tools/qeasingcurve.cpp | 17 ++++++++++++++ src/corelib/tools/qhash.cpp | 17 ++++++++++++++ src/corelib/tools/qlinkedlist.cpp | 17 ++++++++++++++ src/corelib/tools/qlist.cpp | 17 ++++++++++++++ src/corelib/tools/qmap.cpp | 17 ++++++++++++++ src/corelib/tools/qregexp.cpp | 8 +++++++ src/corelib/tools/qshareddata.cpp | 34 +++++++++++++++++++++++++++ src/corelib/tools/qstring.cpp | 16 +++++++++++++ src/corelib/tools/qtimezone.cpp | 9 +++++++ src/corelib/tools/qvector.cpp | 17 ++++++++++++++ 21 files changed, 302 insertions(+) (limited to 'src/corelib') diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index cd30533ff8..5af398c360 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -514,6 +514,14 @@ inline void QDirPrivate::initFileEngine() \sa QFileInfo, QFile, QFileDialog, QCoreApplication::applicationDirPath(), {Find Files Example} */ +/*! + \fn QDir &QDir::operator=(QDir &&other) + + Move-assigns \a other to this QDir instance. + + \since 5.2 +*/ + /*! \internal */ diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp index 1d5f16c9d9..d1b7ebac65 100644 --- a/src/corelib/io/qfileinfo.cpp +++ b/src/corelib/io/qfileinfo.cpp @@ -293,6 +293,14 @@ QDateTime &QFileInfoPrivate::getFileTime(QAbstractFileEngine::FileTime request) \sa QDir, QFile */ +/*! + \fn QFileInfo &QFileInfo::operator=(QFileInfo &&other) + + Move-assigns \a other to this QFileInfo instance. + + \since 5.2 +*/ + /*! \internal */ diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index 5535ae126a..d14add36a5 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -363,6 +363,23 @@ \sa QUrl::FormattingOptions */ +/*! + \fn QUrl::QUrl(QUrl &&other) + + Move-constructs a QUrl instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + +/*! + \fn QUrl &QUrl::operator=(QUrl &&other) + + Move-assigns \a other to this QUrl instance. + + \since 5.2 +*/ + #include "qurl.h" #include "qurl_p.h" #include "qplatformdefs.h" diff --git a/src/corelib/io/qurlquery.cpp b/src/corelib/io/qurlquery.cpp index f6b5cd44bd..f773af1433 100644 --- a/src/corelib/io/qurlquery.cpp +++ b/src/corelib/io/qurlquery.cpp @@ -139,6 +139,14 @@ QT_BEGIN_NAMESPACE \sa QUrl */ +/*! + \fn QUrlQuery &QUrlQuery::operator=(QUrlQuery &&other) + + Move-assigns \a other to this QUrlQuery instance. + + \since 5.2 +*/ + typedef QList > Map; class QUrlQueryPrivate : public QSharedData diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp index 2ea560e611..2238902abc 100644 --- a/src/corelib/itemmodels/qabstractitemmodel.cpp +++ b/src/corelib/itemmodels/qabstractitemmodel.cpp @@ -107,6 +107,23 @@ void QPersistentModelIndexData::destroy(QPersistentModelIndexData *data) \sa {Model/View Programming}, QModelIndex, QAbstractItemModel */ +/*! + \fn QPersistentModelIndex::QPersistentModelIndex(QPersistentModelIndex &&other) + + Move-constructs a QPersistentModelIndex instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + +/*! + \fn QPersistentModelIndex &QPersistentModelIndex::operator=(QPersistentModelIndex &&other) + + Move-assigns \a other to this QPersistentModelIndex instance. + + \since 5.2 +*/ + /*! \fn QPersistentModelIndex::QPersistentModelIndex() diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index 75e945a0cc..a7c0bd2321 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -1104,6 +1104,23 @@ Q_CORE_EXPORT void QVariantPrivate::registerHandler(const int /* Modules::Names \omitvalue LastType */ +/*! + \fn QVariant::QVariant(QVariant &&other) + + Move-constructs a QVariant instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + +/*! + \fn QVariant &QVariant::operator=(QVariant &&other) + + Move-assigns \a other to this QVariant instance. + + \since 5.2 +*/ + /*! \fn QVariant::QVariant() diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp index 4dec1ab696..31237797df 100644 --- a/src/corelib/mimetypes/qmimetype.cpp +++ b/src/corelib/mimetypes/qmimetype.cpp @@ -108,6 +108,14 @@ void QMimeTypePrivate::addGlobPattern(const QString &pattern) \sa QMimeDatabase */ +/*! + \fn QMimeType &QMimeType::operator=(QMimeType &&other) + + Move-assigns \a other to this QMimeType instance. + + \since 5.2 +*/ + /*! \fn QMimeType::QMimeType(); Constructs this QMimeType object initialized with default property values that indicate an invalid MIME type. diff --git a/src/corelib/tools/qbitarray.cpp b/src/corelib/tools/qbitarray.cpp index da2f48c071..4f1fce3077 100644 --- a/src/corelib/tools/qbitarray.cpp +++ b/src/corelib/tools/qbitarray.cpp @@ -110,6 +110,23 @@ QT_BEGIN_NAMESPACE \sa QByteArray, QVector */ +/*! + \fn QBitArray::QBitArray(QBitArray &&other) + + Move-constructs a QBitArray instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + +/*! + \fn QBitArray &QBitArray::operator=(QBitArray &&other) + + Move-assigns \a other to this QBitArray instance. + + \since 5.2 +*/ + /*! \fn QBitArray::QBitArray() Constructs an empty bit array. diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp index 975894a516..92d0d30f54 100644 --- a/src/corelib/tools/qbytearray.cpp +++ b/src/corelib/tools/qbytearray.cpp @@ -910,6 +910,15 @@ static inline char qToLower(char c) \sa operator=() */ +/*! + \fn QByteArray::QByteArray(QByteArray &&other) + + Move-constructs a QByteArray instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QByteArray::QByteArray(QByteArrayDataPtr dd) \internal @@ -965,6 +974,14 @@ QByteArray &QByteArray::operator=(const char *str) return *this; } +/*! + \fn QByteArray &QByteArray::operator=(QByteArray &&other) + + Move-assigns \a other to this QByteArray instance. + + \since 5.2 +*/ + /*! \fn void QByteArray::swap(QByteArray &other) \since 4.8 diff --git a/src/corelib/tools/qcommandlineoption.cpp b/src/corelib/tools/qcommandlineoption.cpp index b30f7d25b4..9827547c56 100644 --- a/src/corelib/tools/qcommandlineoption.cpp +++ b/src/corelib/tools/qcommandlineoption.cpp @@ -87,6 +87,14 @@ public: \sa QCommandLineParser */ +/*! + \fn QCommandLineOption &QCommandLineOption::operator=(QCommandLineOption &&other) + + Move-assigns \a other to this QCommandLineOption instance. + + \since 5.2 +*/ + /*! Constructs a command line option object with the given arguments. diff --git a/src/corelib/tools/qcontiguouscache.cpp b/src/corelib/tools/qcontiguouscache.cpp index b92c4d3fe9..6ccdb7b771 100644 --- a/src/corelib/tools/qcontiguouscache.cpp +++ b/src/corelib/tools/qcontiguouscache.cpp @@ -202,6 +202,14 @@ MyRecord record(int row) const Assigns \a other to this cache and returns a reference to this cache. */ +/*! + \fn QContiguousCache &QContiguousCache::operator=(QContiguousCache &&other) + + Move-assigns \a other to this QContiguousCache instance. + + \since 5.2 +*/ + /*! \fn void QContiguousCache::swap(QContiguousCache &other) \since 4.8 diff --git a/src/corelib/tools/qeasingcurve.cpp b/src/corelib/tools/qeasingcurve.cpp index 23451f095c..fc9a1ca867 100644 --- a/src/corelib/tools/qeasingcurve.cpp +++ b/src/corelib/tools/qeasingcurve.cpp @@ -1065,6 +1065,15 @@ static QEasingCurveFunction *curveToFunctionObject(QEasingCurve::Type type) return curveFunc; } +/*! + \fn QEasingCurve::QEasingCurve(QEasingCurve &&other) + + Move-constructs a QEasingCurve instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! Constructs an easing curve of the given \a type. */ @@ -1097,6 +1106,14 @@ QEasingCurve::~QEasingCurve() Copy \a other. */ +/*! + \fn QEasingCurve &QEasingCurve::operator=(QEasingCurve &&other) + + Move-assigns \a other to this QEasingCurve instance. + + \since 5.2 +*/ + /*! \fn void QEasingCurve::swap(QEasingCurve &other) \since 5.0 diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index 4b9d120bb3..b6257c8907 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -941,6 +941,15 @@ void QHashData::checkSanity() \sa clear() */ +/*! + \fn QHash::QHash(QHash &&other) + + Move-constructs a QHash instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QHash::QHash(std::initializer_list > list) \since 5.1 @@ -974,6 +983,14 @@ void QHashData::checkSanity() Assigns \a other to this hash and returns a reference to this hash. */ +/*! + \fn QHash &QHash::operator=(QHash &&other) + + Move-assigns \a other to this QHash instance. + + \since 5.2 +*/ + /*! \fn void QHash::swap(QHash &other) \since 4.8 diff --git a/src/corelib/tools/qlinkedlist.cpp b/src/corelib/tools/qlinkedlist.cpp index 6e7a7a2635..c6e79c02a3 100644 --- a/src/corelib/tools/qlinkedlist.cpp +++ b/src/corelib/tools/qlinkedlist.cpp @@ -125,6 +125,15 @@ const QLinkedListData QLinkedListData::shared_null = { Constructs an empty list. */ +/*! + \fn QLinkedList::QLinkedList(QLinkedList &&other) + + Move-constructs a QLinkedList instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QLinkedList::QLinkedList(const QLinkedList &other) Constructs a copy of \a other. @@ -740,6 +749,14 @@ const QLinkedListData QLinkedListData::shared_null = { Assigns \a other to this iterator. */ +/*! + \fn QLinkedList &QLinkedList::operator=(QLinkedList &&other) + + Move-assigns \a other to this QLinkedList instance. + + \since 5.2 +*/ + /*! \fn T &QLinkedList::iterator::operator*() const Returns a modifiable reference to the current item. diff --git a/src/corelib/tools/qlist.cpp b/src/corelib/tools/qlist.cpp index 760c944c29..4770054d79 100644 --- a/src/corelib/tools/qlist.cpp +++ b/src/corelib/tools/qlist.cpp @@ -479,6 +479,15 @@ void **QListData::erase(void **xi) \sa QListIterator, QMutableListIterator, QLinkedList, QVector */ +/*! + \fn QList::QList(QList &&other) + + Move-constructs a QList instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QList QList::mid(int pos, int length) const @@ -527,6 +536,14 @@ void **QListData::erase(void **xi) list. */ +/*! + \fn QList &QList::operator=(QList &&other) + + Move-assigns \a other to this QList instance. + + \since 5.2 +*/ + /*! \fn void QList::swap(QList &other) \since 4.8 diff --git a/src/corelib/tools/qmap.cpp b/src/corelib/tools/qmap.cpp index 71b90bcada..01a6a22631 100644 --- a/src/corelib/tools/qmap.cpp +++ b/src/corelib/tools/qmap.cpp @@ -516,6 +516,15 @@ void QMapDataBase::freeData(QMapDataBase *d) \sa clear() */ +/*! + \fn QMap::QMap(QMap &&other) + + Move-constructs a QMap instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QMap::QMap(const QMap &other) Constructs a copy of \a other. @@ -567,6 +576,14 @@ void QMapDataBase::freeData(QMapDataBase *d) Assigns \a other to this map and returns a reference to this map. */ +/*! + \fn QMap &QMap::operator=(QMap &&other) + + Move-assigns \a other to this QMap instance. + + \since 5.2 +*/ + /*! \fn void QMap::swap(QMap &other) \since 4.8 diff --git a/src/corelib/tools/qregexp.cpp b/src/corelib/tools/qregexp.cpp index ef2dba5700..5debb1a238 100644 --- a/src/corelib/tools/qregexp.cpp +++ b/src/corelib/tools/qregexp.cpp @@ -4012,6 +4012,14 @@ QRegExp &QRegExp::operator=(const QRegExp &rx) return *this; } +/*! + \fn QRegExp &QRegExp::operator=(QRegExp &&other) + + Move-assigns \a other to this QRegExp instance. + + \since 5.2 +*/ + /*! \fn void QRegExp::swap(QRegExp &other) \since 4.8 diff --git a/src/corelib/tools/qshareddata.cpp b/src/corelib/tools/qshareddata.cpp index cee0c1d450..0afda357a6 100644 --- a/src/corelib/tools/qshareddata.cpp +++ b/src/corelib/tools/qshareddata.cpp @@ -306,6 +306,14 @@ QT_BEGIN_NAMESPACE data pointer in \a other. */ +/*! + \fn QSharedDataPointer &QSharedDataPointer::operator=(QSharedDataPointer &&other) + + Move-assigns \a other to this QSharedDataPointer instance. + + \since 5.2 +*/ + /*! \fn bool QSharedDataPointer::operator==(const QSharedDataPointer& other) const Returns true if \a other and \e this have the same \e{d pointer}. This function does \e not call detach(). @@ -320,6 +328,15 @@ QT_BEGIN_NAMESPACE Constructs a QSharedDataPointer initialized with a null \e{d pointer}. */ +/*! + \fn QSharedDataPointer::QSharedDataPointer(QSharedDataPointer &&o) + + Move-constructs a QSharedDataPointer instance, making it point at the same + object that \a o was pointing to. + + \since 5.2 +*/ + /*! \fn QSharedDataPointer::~QSharedDataPointer() Decrements the reference count of the shared data object. If the reference count becomes 0, the shared data object @@ -465,6 +482,14 @@ QT_BEGIN_NAMESPACE Returns true if \a other and \e this have the same \e{d pointer}. */ +/*! + \fn QExplicitlySharedDataPointer &QExplicitlySharedDataPointer::operator=(QExplicitlySharedDataPointer &&other) + + Move-assigns \a other to this QExplicitlySharedDataPointer instance. + + \since 5.2 +*/ + /*! \fn bool QExplicitlySharedDataPointer::operator==(const T* ptr) const Returns true if the \e{d pointer} of \e this is \a ptr. */ @@ -489,6 +514,15 @@ QT_BEGIN_NAMESPACE is deleted. \e This is then destroyed. */ +/*! + \fn QExplicitlySharedDataPointer::QExplicitlySharedDataPointer(QExplicitlySharedDataPointer &&o) + + Move-constructs a QExplicitlySharedDataPointer instance, making it point at the same + object that \a o was pointing to. + + \since 5.2 +*/ + /*! \fn QExplicitlySharedDataPointer::QExplicitlySharedDataPointer(T* sharedData) Constructs a QExplicitlySharedDataPointer with \e{d pointer} set to \a sharedData and increments \a{sharedData}'s reference diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 239cf0446a..1ba9e81b59 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -929,6 +929,15 @@ const QString::Null QString::null = { }; \sa isEmpty() */ +/*! + \fn QString::QString(QString &&other) + + Move-constructs a QString instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QString::QString(const char *str) Constructs a string initialized with the 8-bit string \a str. The @@ -1349,6 +1358,13 @@ QString &QString::operator=(const QString &other) return *this; } +/*! + \fn QString &QString::operator=(QString &&other) + + Move-assigns \a other to this QString instance. + + \since 5.2 +*/ /*! \fn QString &QString::operator=(QLatin1String str) diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp index cdd0aba102..762ad6fd09 100644 --- a/src/corelib/tools/qtimezone.cpp +++ b/src/corelib/tools/qtimezone.cpp @@ -422,6 +422,15 @@ QTimeZone &QTimeZone::operator=(const QTimeZone &other) return *this; } +/*! + \fn QTimeZone &QTimeZone::operator=(QTimeZone &&other) + + Move-assigns \a other to this QTimeZone instance, transferring the + ownership of the managed pointer to this instance. + + \since 5.2 +*/ + /*! Returns true if this time zone is equal to the \a other time zone. */ diff --git a/src/corelib/tools/qvector.cpp b/src/corelib/tools/qvector.cpp index a443a6b4e8..8982e797d9 100644 --- a/src/corelib/tools/qvector.cpp +++ b/src/corelib/tools/qvector.cpp @@ -195,6 +195,15 @@ \sa resize() */ +/*! + \fn QVector::QVector(QVector &&other) + + Move-constructs a QVector instance, making it point at the same + object that \a other was pointing to. + + \since 5.2 +*/ + /*! \fn QVector::QVector(int size) Constructs a vector with an initial size of \a size elements. @@ -246,6 +255,14 @@ vector. */ +/*! + \fn QVector &QVector::operator=(QVector &&other) + + Move-assigns \a other to this QVector instance. + + \since 5.2 +*/ + /*! \fn void QVector::swap(QVector &other) \since 4.8 -- cgit v1.2.3