QDirListing: make the class move-only
Define both move SMF out-of-line, otherwise MSVC complains that the private class isn't fully defined at the point of destruction of std::unique_ptr<QDirListingPrivate>. Both move SMF are = default'ed; GCC didn't show a warning about this issue... different implementations, I guess. "partially-formed" docs boilerplate borrowed from other existing classes. Found in API review. Task-number: QTBUG-125859 Change-Id: I98b57a14bd94e407d9bfafa9ef32cf40c978d7df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 4e32a45d492fb057cc996efc6791030f3dd525d5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
d69e73b9f9
commit
3242676cd0
@ -479,6 +479,24 @@ QDirListing::QDirListing(const QString &path, const QStringList &nameFilters, QD
|
||||
d->init();
|
||||
}
|
||||
|
||||
/*!
|
||||
Move constructor. Moves \a other into this QDirListing.
|
||||
|
||||
//! [partially-formed]
|
||||
\note The moved-from object \a other is placed in a partially-formed state,
|
||||
in which the only valid operations are destruction and assignment of a new
|
||||
value.
|
||||
//! [partially-formed]
|
||||
*/
|
||||
QDirListing::QDirListing(QDirListing &&other) = default;
|
||||
|
||||
/*!
|
||||
Move-assigns \a other to this QDirListing.
|
||||
|
||||
\include qdirlisting.cpp partially-formed
|
||||
*/
|
||||
QDirListing &QDirListing::operator=(QDirListing &&other) = default;
|
||||
|
||||
/*!
|
||||
Destroys the QDirListing.
|
||||
*/
|
||||
|
@ -32,6 +32,9 @@ public:
|
||||
QDir::Filters filters = QDir::NoFilter,
|
||||
IteratorFlags flags = IteratorFlag::NoFlag);
|
||||
|
||||
QDirListing(QDirListing &&);
|
||||
QDirListing &operator=(QDirListing &&);
|
||||
|
||||
~QDirListing();
|
||||
|
||||
QString iteratorPath() const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user