X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fgame%2Feventbus.h;h=7da047ed1851b76b8bd79b6d903aa8b20c64b47e;hb=db01a6ed506ea2352b20f10b2694e249d2bba6c5;hp=e09663589c8c99fe02180db76b94fbe6506af54b;hpb=9248910baf5bab301c7329182b143870321a95f0;p=libs%2Fgame.git diff --git a/source/game/eventbus.h b/source/game/eventbus.h index e096635..7da047e 100644 --- a/source/game/eventbus.h +++ b/source/game/eventbus.h @@ -23,7 +23,7 @@ struct EventDispatcher { handlers.emplace_back(obs, std::move(cb)); } void remove_observer(EventObserver *obs) - { std::erase_if(handlers, [obs](const Handler &h){ return h.observer==obs; }); } + { std::erase_if(handlers, [obs](auto &h){ return h.observer==obs; }); } void dispatch(const T &) const; }; @@ -52,12 +52,12 @@ public: private: template - EventDispatcher &get_emitter(); + EventDispatcher &get_dispatcher(); public: template void add_observer(EventObserver &obs, std::function cb) - { get_emitter().add_observer(&obs, std::move(cb)); } + { get_dispatcher().add_observer(&obs, std::move(cb)); } void replace_observer(EventObserver &, EventObserver &); void remove_observer(EventObserver &); @@ -83,7 +83,7 @@ inline unsigned EventBus::get_event_id() } template -inline EventDispatcher &EventBus::get_emitter() +inline EventDispatcher &EventBus::get_dispatcher() { unsigned id = get_event_id(); if(dispatchers.size()<=id)