20 std::vector<std::shared_ptr<Subscription>> active_subscribers;
28 auto& subscribers = it->second;
30 std::remove_if(subscribers.begin(), subscribers.end(),
31 [&active_subscribers](
const std::weak_ptr<Subscription>& weak) {
32 if (auto shared = weak.lock()) {
33 active_subscribers.push_back(shared);
41 for (
auto& subscriber : active_subscribers) {
42 subscriber->on_event(event);