30 std::vector<std::pair<std::string, std::function<void(
void *)>>> all_handlers;
42 all_handlers.push_back({std::string(
typeid(T).name()), [handler_fun](
void *raw)
58 for (std::pair<std::string, std::function<
void(
void *)>> h : all_handlers)
59 if (std::string(
typeid(T).name()) == h.first)
60 h.second((
void *)&evt);
73 for (std::pair<std::string, std::function<
void(
void *)>> h : all_handlers)
74 if (evt_name == h.first)
Very simple event bus implementation using std::function and typeid. All this does is fire any regist...
Definition event_bus.h:28
void fire_event(T evt)
Trigger an event, called every registered handler.
Definition event_bus.h:56
void fire_event(void *evt, std::string evt_name)
Trigger an event, called every registered handler. Allows specifying the event name....
Definition event_bus.h:71
void register_handler(std::function< void(T)> handler_fun)
Register a handler function to be called when a specific event is fired.
Definition event_bus.h:40