ensure clients are valid when iterated over

This commit is contained in:
Lion Kortlepel
2022-11-13 14:54:41 +01:00
parent 8551e68184
commit 2572530957

View File

@@ -51,9 +51,13 @@ public:
Clients = mClients;
}
for (auto& Client : Clients) {
IterationDecision Decision = std::invoke(Fn, Client);
if (Decision == IterationDecision::Break) {
break;
if (Client) [[likely]] {
IterationDecision Decision = std::invoke(Fn, Client);
if (Decision == IterationDecision::Break) {
break;
}
} else {
beammp_assert_not_reachable();
}
}
}
@@ -65,7 +69,11 @@ public:
Clients = mClients;
}
for (auto& Client : Clients) {
std::invoke(Fn, Client);
if (Client) [[likely]] {
std::invoke(Fn, Client);
} else {
beammp_assert_not_reachable();
}
}
}
size_t ClientCount() const;