From ff171e91877048f132955abaa617a26c63632bdf Mon Sep 17 00:00:00 2001
From: Alexey Rusakov <Kitsune-Ral@users.sf.net>
Date: Sat, 12 Jun 2021 20:56:41 +0200
Subject: connection.cpp: erase_if -> remove_if

erase_if is now also provided by Qt; doing pretty much the same thing,
the Qt implementation only returns the number of removed entries instead
of returning a collection of them, however. Worth admitting at this
point that the function in connection.cpp has never had the semantics
of STL's erase_if() and doesn't quite have the semantics of remove_if()
either; but at least it's closer to remove_if().
---
 lib/connection.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/connection.cpp b/lib/connection.cpp
index b3006084..e076957a 100644
--- a/lib/connection.cpp
+++ b/lib/connection.cpp
@@ -58,7 +58,7 @@ using namespace Quotient;
 
 // This is very much Qt-specific; STL iterators don't have key() and value()
 template <typename HashT, typename Pred>
-HashT erase_if(HashT& hashMap, Pred pred)
+HashT remove_if(HashT& hashMap, Pred pred)
 {
     HashT removals;
     for (auto it = hashMap.begin(); it != hashMap.end();) {
@@ -668,16 +668,16 @@ void Connection::Private::consumeAccountData(Events&& accountDataEvents)
                 // https://github.com/quotient-im/libQuotient/wiki/Handling-direct-chat-events
                 const auto& usersToDCs = dce.usersToDirectChats();
                 DirectChatsMap remoteRemovals =
-                    erase_if(directChats, [&usersToDCs, this](auto it) {
+                    remove_if(directChats, [&usersToDCs, this](auto it) {
                         return !(
                             usersToDCs.contains(it.key()->id(), it.value())
                             || dcLocalAdditions.contains(it.key(), it.value()));
                     });
-                erase_if(directChatUsers, [&remoteRemovals](auto it) {
+                remove_if(directChatUsers, [&remoteRemovals](auto it) {
                     return remoteRemovals.contains(it.value(), it.key());
                 });
                 // Remove from dcLocalRemovals what the server already has.
-                erase_if(dcLocalRemovals, [&remoteRemovals](auto it) {
+                remove_if(dcLocalRemovals, [&remoteRemovals](auto it) {
                     return remoteRemovals.contains(it.key(), it.value());
                 });
                 if (MAIN().isDebugEnabled())
@@ -705,7 +705,7 @@ void Connection::Private::consumeAccountData(Events&& accountDataEvents)
                             << "Couldn't get a user object for" << it.key();
                 }
                 // Remove from dcLocalAdditions what the server already has.
-                erase_if(dcLocalAdditions, [&remoteAdditions](auto it) {
+                remove_if(dcLocalAdditions, [&remoteAdditions](auto it) {
                     return remoteAdditions.contains(it.key(), it.value());
                 });
                 if (!remoteAdditions.isEmpty() || !remoteRemovals.isEmpty())
@@ -1388,7 +1388,7 @@ void Connection::removeFromDirectChats(const QString& roomId, User* user)
         removals.insert(user, roomId);
         d->dcLocalRemovals.insert(user, roomId);
     } else {
-        removals = erase_if(d->directChats,
+        removals = remove_if(d->directChats,
                             [&roomId](auto it) { return it.value() == roomId; });
         d->directChatUsers.remove(roomId);
         d->dcLocalRemovals += removals;
-- 
cgit v1.2.3