Replace qExchange with std::exchange
None of these users require C++20 constexpr or C++23 noexcept, the only remaining difference between std::exchange and qExchange. This leaves a single qExchange() user, in QScopedValueRollback, that requires the constexpr version, only available from C++20, and thus remains unported. Task-number: QTBUG-99313 Change-Id: Iea46f6ed61d6bd8a5b2fd9d9ec4d70c980b443a2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
e08fa9cc01
commit
dd562b3672
@ -213,7 +213,7 @@ void DtlsServer::decryptDatagram(QDtls *connection, const QByteArray &clientMess
|
||||
//! [14]
|
||||
void DtlsServer::shutdown()
|
||||
{
|
||||
for (const auto &connection : qExchange(knownClients, {}))
|
||||
for (const auto &connection : std::exchange(knownClients, {}))
|
||||
connection->shutdown(&serverSocket);
|
||||
|
||||
serverSocket.close();
|
||||
|
@ -92,7 +92,7 @@ public:
|
||||
QAppleRefCounted(QAppleRefCounted &&other)
|
||||
noexcept(std::is_nothrow_move_assignable<T>::value &&
|
||||
std::is_nothrow_move_constructible<T>::value)
|
||||
: value(qExchange(other.value, T())) {}
|
||||
: value(std::exchange(other.value, T())) {}
|
||||
QAppleRefCounted(const QAppleRefCounted &other) : value(other.value) { if (value) RetainFunction(value); }
|
||||
~QAppleRefCounted() { if (value) ReleaseFunction(value); }
|
||||
operator T() const { return value; }
|
||||
@ -258,7 +258,7 @@ public:
|
||||
Q_DISABLE_COPY(QAppleLogActivity)
|
||||
|
||||
QAppleLogActivity(QAppleLogActivity &&other)
|
||||
: activity(qExchange(other.activity, nullptr)), state(other.state)
|
||||
: activity(std::exchange(other.activity, nullptr)), state(other.state)
|
||||
{
|
||||
}
|
||||
|
||||
@ -333,7 +333,7 @@ public:
|
||||
|
||||
QMacNotificationObserver(const QMacNotificationObserver &other) = delete;
|
||||
QMacNotificationObserver(QMacNotificationObserver &&other)
|
||||
: observer(qExchange(other.observer, nullptr))
|
||||
: observer(std::exchange(other.observer, nullptr))
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
~QWinRegistryKey();
|
||||
|
||||
QWinRegistryKey(QWinRegistryKey &&other) noexcept
|
||||
: m_key(qExchange(other.m_key, nullptr)) {}
|
||||
: m_key(std::exchange(other.m_key, nullptr)) {}
|
||||
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QWinRegistryKey)
|
||||
void swap(QWinRegistryKey &other) noexcept { qSwap(m_key, other.m_key); }
|
||||
|
||||
|
@ -56,13 +56,13 @@ class QDuplicateTracker {
|
||||
auto insert(const T &e) {
|
||||
auto it = QSet<T>::insert(e);
|
||||
const auto n = this->size();
|
||||
return std::pair{it, qExchange(setSize, n) != n};
|
||||
return std::pair{it, std::exchange(setSize, n) != n};
|
||||
}
|
||||
|
||||
auto insert(T &&e) {
|
||||
auto it = QSet<T>::insert(std::move(e));
|
||||
const auto n = this->size();
|
||||
return std::pair{it, qExchange(setSize, n) != n};
|
||||
return std::pair{it, std::exchange(setSize, n) != n};
|
||||
}
|
||||
};
|
||||
Set set{Prealloc};
|
||||
|
@ -49,7 +49,7 @@ public:
|
||||
const T *data() const noexcept { return d; }
|
||||
const T *get() const noexcept { return d; }
|
||||
const T *constData() const noexcept { return d; }
|
||||
T *take() noexcept { return qExchange(d, nullptr); }
|
||||
T *take() noexcept { return std::exchange(d, nullptr); }
|
||||
|
||||
QSharedDataPointer() noexcept : d(nullptr) { }
|
||||
~QSharedDataPointer() { if (d && !d->ref.deref()) delete d; }
|
||||
|
@ -92,7 +92,7 @@ public:
|
||||
|
||||
constexpr T *take() noexcept
|
||||
{
|
||||
return qExchange(d, nullptr);
|
||||
return std::exchange(d, nullptr);
|
||||
}
|
||||
|
||||
bool isShared() const noexcept
|
||||
|
@ -988,7 +988,7 @@ void QWidgetRepaintManager::flush()
|
||||
if (!hasNeedsFlushWidgets)
|
||||
return;
|
||||
|
||||
for (QWidget *w : qExchange(needsFlushWidgets, {})) {
|
||||
for (QWidget *w : std::exchange(needsFlushWidgets, {})) {
|
||||
QWidgetPrivate *wd = w->d_func();
|
||||
Q_ASSERT(wd->needsFlush);
|
||||
QPlatformTextureList *widgetTexturesForNative = wd->textureChildSeen ? widgetTexturesFor(tlw, w) : nullptr;
|
||||
|
@ -5513,7 +5513,7 @@ public:
|
||||
}
|
||||
|
||||
QObjectCastChecker(QObjectCastChecker &&other) noexcept
|
||||
: m_target(qExchange(other.m_target, nullptr))
|
||||
: m_target(std::exchange(other.m_target, nullptr))
|
||||
{}
|
||||
|
||||
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QObjectCastChecker)
|
||||
|
Loading…
x
Reference in New Issue
Block a user