Port from qAsConst() to std::as_const()

We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.

Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.

Task-number: QTBUG-99313
Change-Id: Ia64c6615ee81f7ad5d0658449b0ee347c3db8c29
Reviewed-by: David Edmundson <davidedmundson@kde.org>
This commit is contained in:
Marc Mutz 2022-10-06 11:44:06 +02:00
parent 6c4ec81e6e
commit 0cf9831657
14 changed files with 36 additions and 36 deletions

View File

@ -455,7 +455,7 @@ void QWaylandDisplay::checkTextInputProtocol()
QWaylandScreen *QWaylandDisplay::screenForOutput(struct wl_output *output) const
{
for (auto screen : qAsConst(mScreens)) {
for (auto screen : std::as_const(mScreens)) {
if (screen->output() == output)
return screen;
}
@ -519,12 +519,12 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
#if QT_WAYLAND_TEXT_INPUT_V4_WIP
mTextInputManagerv4.reset();
#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(nullptr);
}
mTextInputMethodManager.reset(new QtWayland::qt_text_input_method_manager_v1(registry, id, 1));
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(new QWaylandTextInputMethod(this, mTextInputMethodManager->get_text_input_method(inputDevice->wl_seat())));
mWaylandIntegration->reconfigureInputContext();
mTextInputManagerIndex = mTextInputManagerList.indexOf(interface);
@ -537,12 +537,12 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
#if QT_WAYLAND_TEXT_INPUT_V4_WIP
mTextInputManagerv4.reset();
#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(nullptr);
}
mTextInputManagerv1.reset(new QtWayland::zwp_text_input_manager_v1(registry, id, 1));
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices)) {
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices)) {
auto textInput = new QWaylandTextInputv1(this, mTextInputManagerv1->create_text_input());
textInput->setSeat(inputDevice->wl_seat());
inputDevice->setTextInput(textInput);
@ -559,12 +559,12 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
#if QT_WAYLAND_TEXT_INPUT_V4_WIP
mTextInputManagerv4.reset();
#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(nullptr);
}
mTextInputManagerv2.reset(new QtWayland::zwp_text_input_manager_v2(registry, id, 1));
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(new QWaylandTextInputv2(this, mTextInputManagerv2->get_text_input(inputDevice->wl_seat())));
mWaylandIntegration->reconfigureInputContext();
mTextInputManagerIndex = mTextInputManagerList.indexOf(interface);
@ -575,12 +575,12 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
if (mTextInputManagerIndex < INT_MAX) {
mTextInputMethodManager.reset();
mTextInputManagerv2.reset();
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(nullptr);
}
mTextInputManagerv4.reset(new QtWayland::zwp_text_input_manager_v4(registry, id, 1));
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(new QWaylandTextInputv4(this, mTextInputManagerv4->get_text_input(inputDevice->wl_seat())));
mWaylandIntegration->reconfigureInputContext();
mTextInputManagerIndex = mTextInputManagerList.indexOf(interface);
@ -595,7 +595,7 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
}
} else if (interface == QLatin1String(QWaylandXdgOutputManagerV1::interface()->name)) {
mXdgOutputManager.reset(new QWaylandXdgOutputManagerV1(this, id, version));
for (auto *screen : qAsConst(mWaitingScreens))
for (auto *screen : std::as_const(mWaitingScreens))
screen->initXdgOutput(xdgOutputManager());
forceRoundTrip();
}
@ -622,7 +622,7 @@ void QWaylandDisplay::registry_global_remove(uint32_t id)
}
}
for (QWaylandScreen *screen : qAsConst(mScreens)) {
for (QWaylandScreen *screen : std::as_const(mScreens)) {
if (screen->outputId() == id) {
mScreens.removeOne(screen);
// If this is the last screen, we have to add a fake screen, or Qt will break.
@ -634,27 +634,27 @@ void QWaylandDisplay::registry_global_remove(uint32_t id)
}
if (global.interface == QLatin1String(QtWayland::zwp_text_input_manager_v1::interface()->name)) {
mTextInputManagerv1.reset();
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(nullptr);
mWaylandIntegration->reconfigureInputContext();
}
if (global.interface == QLatin1String(QtWayland::zwp_text_input_manager_v2::interface()->name)) {
mTextInputManagerv2.reset();
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(nullptr);
mWaylandIntegration->reconfigureInputContext();
}
#if QT_WAYLAND_TEXT_INPUT_V4_WIP
if (global.interface == QLatin1String(QtWayland::zwp_text_input_manager_v4::interface()->name)) {
mTextInputManagerv4.reset();
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInput(nullptr);
mWaylandIntegration->reconfigureInputContext();
}
#endif // QT_WAYLAND_TEXT_INPUT_V4_WIP
if (global.interface == QLatin1String(QtWayland::qt_text_input_method_manager_v1::interface()->name)) {
mTextInputMethodManager.reset();
for (QWaylandInputDevice *inputDevice : qAsConst(mInputDevices))
for (QWaylandInputDevice *inputDevice : std::as_const(mInputDevices))
inputDevice->setTextInputMethod(nullptr);
mWaylandIntegration->reconfigureInputContext();
}

View File

@ -1465,7 +1465,7 @@ void QWaylandInputDevice::handleTouchPoint(int id, QEventPoint::State state, con
bool QWaylandInputDevice::Touch::allTouchPointsReleased()
{
for (const auto &tp : qAsConst(mPendingTouchPoints)) {
for (const auto &tp : std::as_const(mPendingTouchPoints)) {
if (tp.state != QEventPoint::Released)
return false;
}

View File

@ -422,7 +422,7 @@ void QWaylandIntegration::initializeShellIntegration()
preferredShells << QLatin1String("qt-shell");
}
for (const QString &preferredShell : qAsConst(preferredShells)) {
for (const QString &preferredShell : std::as_const(preferredShells)) {
mShellIntegration.reset(createShellIntegration(preferredShell));
if (mShellIntegration) {
qCDebug(lcQpaWayland, "Using the '%s' shell integration", qPrintable(preferredShell));

View File

@ -150,7 +150,7 @@ QList<QPlatformScreen *> QWaylandScreen::virtualSiblings() const
list.reserve(screens.size() + (placeholder ? 1 : 0));
for (QWaylandScreen *screen : qAsConst(screens)) {
for (QWaylandScreen *screen : std::as_const(screens)) {
if (screen->screen())
list << screen;
}

View File

@ -559,7 +559,7 @@ void QWaylandWindow::sendRecursiveExposeEvent()
return;
sendExposeEvent(QRect(QPoint(), geometry().size()));
for (QWaylandSubSurface *subSurface : qAsConst(mChildren)) {
for (QWaylandSubSurface *subSurface : std::as_const(mChildren)) {
auto subWindow = subSurface->window();
subWindow->sendRecursiveExposeEvent();
}
@ -924,7 +924,7 @@ bool QWaylandWindow::createDecoration()
}
if (hadDecoration != mWindowDecorationEnabled) {
for (QWaylandSubSurface *subsurf : qAsConst(mChildren)) {
for (QWaylandSubSurface *subsurf : std::as_const(mChildren)) {
QPoint pos = subsurf->window()->geometry().topLeft();
QMargins m = frameMargins();
subsurf->set_position(pos.x() + m.left(), pos.y() + m.top());

View File

@ -132,7 +132,7 @@ QInputMethodEvent *QWaylandInputMethodEventBuilder::buildPreedit(const QString &
attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Cursor, indexFromWayland(text, m_preeditCursor), 1, QVariant()));
}
for (const QInputMethodEvent::Attribute &attr : qAsConst(m_preeditStyles)) {
for (const QInputMethodEvent::Attribute &attr : std::as_const(m_preeditStyles)) {
int start = indexFromWayland(text, attr.start);
int length = indexFromWayland(text, attr.start + attr.length) - start;
attributes.append(QInputMethodEvent::Attribute(attr.type, start, length, attr.value));

View File

@ -437,7 +437,7 @@ bool Scanner::process()
printf("// This file was generated by qtwaylandscanner\n");
printf("// source file is %s\n\n", qPrintable(m_protocolFilePath));
for (auto b : qAsConst(m_includes))
for (auto b : std::as_const(m_includes))
printf("#include %s\n", b.constData());
auto printExportMacro = [this](const char *prefix, const QByteArray &preProcessorProtocolName) {
@ -695,7 +695,7 @@ bool Scanner::process()
printf(" %s::~%s()\n", interfaceName, interfaceName);
printf(" {\n");
printf(" for (auto resource : qAsConst(m_resource_map))\n");
printf(" for (auto resource : std::as_const(m_resource_map))\n");
printf(" resource->%s_object = nullptr;\n", interfaceNameStripped);
printf("\n");
printf(" if (m_resource)\n");

View File

@ -147,7 +147,7 @@ public:
{}
bool isClean() override
{
for (auto *device : qAsConst(m_devices)) {
for (auto *device : std::as_const(m_devices)) {
// The client should not leak selection offers, i.e. if this fails, there is a missing
// zwp_primary_selection_offer_v1.destroy request
if (!device->m_sentSelectionOffers.empty())

View File

@ -35,7 +35,7 @@ CoreCompositor::~CoreCompositor()
bool CoreCompositor::isClean()
{
Lock lock(this);
for (auto *global : qAsConst(m_globals)) {
for (auto *global : std::as_const(m_globals)) {
if (!global->isClean())
return false;
}
@ -46,7 +46,7 @@ QString CoreCompositor::dirtyMessage()
{
Lock lock(this);
QStringList messages;
for (auto *global : qAsConst(m_globals)) {
for (auto *global : std::as_const(m_globals)) {
if (!global->isClean())
messages << (global->metaObject()->className() % QLatin1String(": ") % global->dirtyMessage());
}

View File

@ -98,7 +98,7 @@ public:
global_type *get()
{
warnIfNotLockedByThread(Q_FUNC_INFO);
for (auto *global : qAsConst(m_globals)) {
for (auto *global : std::as_const(m_globals)) {
if (auto *casted = qobject_cast<global_type *>(global))
return casted;
}
@ -112,7 +112,7 @@ public:
global_type *get(int index)
{
warnIfNotLockedByThread(Q_FUNC_INFO);
for (auto *global : qAsConst(m_globals)) {
for (auto *global : std::as_const(m_globals)) {
if (auto *casted = qobject_cast<global_type *>(global)) {
if (index--)
continue;
@ -130,7 +130,7 @@ public:
{
warnIfNotLockedByThread(Q_FUNC_INFO);
QList<global_type *> matching;
for (auto *global : qAsConst(m_globals)) {
for (auto *global : std::as_const(m_globals)) {
if (auto *casted = qobject_cast<global_type *>(global))
matching.append(casted);
}

View File

@ -144,7 +144,7 @@ void Surface::surface_frame(Resource *resource, uint32_t callback)
}
bool WlCompositor::isClean() {
for (auto *surface : qAsConst(m_surfaces)) {
for (auto *surface : std::as_const(m_surfaces)) {
if (!CursorRole::fromSurface(surface)) {
if (m_compositor->m_type != CoreCompositor::CompositorType::Legacy)
return false;
@ -160,7 +160,7 @@ QString WlCompositor::dirtyMessage()
if (isClean())
return "clean";
QStringList messages;
for (auto *s : qAsConst(m_surfaces)) {
for (auto *s : std::as_const(m_surfaces)) {
QString role = s->m_role ? s->m_role->staticMetaObject.className(): "none/unknown";
messages << "Surface with role: " + role;
}
@ -547,7 +547,7 @@ Shm::Shm(CoreCompositor *compositor, QList<format> formats, int version)
bool Shm::isClean()
{
// for (ShmPool *pool : qAsConst(m_pools)) {
// for (ShmPool *pool : std::as_const(m_pools)) {
// //TODO: return false if not cursor buffer
// if (pool->m_buffers.isEmpty()) {
// return false;

View File

@ -411,7 +411,7 @@ protected:
void shm_create_pool(Resource *resource, uint32_t id, int32_t fd, int32_t size) override;
void shm_bind_resource(Resource *resource) override
{
for (auto format : qAsConst(m_formats))
for (auto format : std::as_const(m_formats))
send_format(resource->handle, format);
}
};

View File

@ -7,7 +7,7 @@ namespace MockCompositor {
bool DataDeviceManager::isClean()
{
for (auto *device : qAsConst(m_dataDevices)) {
for (auto *device : std::as_const(m_dataDevices)) {
// The client should not leak selection offers, i.e. if this fails, there is a missing
// data_offer.destroy request
if (!device->m_sentSelectionOffers.empty())

View File

@ -14,7 +14,7 @@ XdgWmBase::XdgWmBase(CoreCompositor *compositor, int version)
XdgToplevel *XdgWmBase::toplevel(int i)
{
int j = 0;
for (auto *xdgSurface : qAsConst(m_xdgSurfaces)) {
for (auto *xdgSurface : std::as_const(m_xdgSurfaces)) {
if (auto *toplevel = xdgSurface->m_toplevel) {
if (j == i)
return toplevel;
@ -27,7 +27,7 @@ XdgToplevel *XdgWmBase::toplevel(int i)
XdgPopup *XdgWmBase::popup(int i)
{
int j = 0;
for (auto *xdgSurface : qAsConst(m_xdgSurfaces)) {
for (auto *xdgSurface : std::as_const(m_xdgSurfaces)) {
if (auto *popup = xdgSurface->m_popup) {
if (j == i)
return popup;