24 std::map<MtEvent::Type, Dest>
m_dest{};
33 std::list<FuncSpec> &funcs = i->second.funcs;
35 (*(func.f))(e, func.d);
42 auto i =
m_dest.find(type);
44 i->second.funcs.emplace_back(f, data);
47 dest.
funcs.emplace_back(f, data);
53 auto i =
m_dest.find(type);
55 std::list<FuncSpec> &funcs = i->second.funcs;
56 for (
auto j = funcs.begin(); j != funcs.end(); ) {
57 bool remove = (j->f == f && (!data || j->d == data));
static void remove(TestMap &map, size_t offset, size_t count)
Definition benchmark_mapmodify.cpp:32
Definition event_manager.h:12
~EventManager() override=default
void reg(MtEvent::Type type, event_receive_func f, void *data) override
Definition event_manager.h:40
std::map< MtEvent::Type, Dest > m_dest
Definition event_manager.h:24
void put(MtEvent *e) override
Definition event_manager.h:29
void dereg(MtEvent::Type type, event_receive_func f, void *data) override
Definition event_manager.h:51
Type
Definition mtevent.h:13
virtual Type getType() const =0
void(* event_receive_func)(MtEvent *e, void *data)
Definition mtevent.h:39
Definition event_manager.h:21
std::list< FuncSpec > funcs
Definition event_manager.h:22
Definition event_manager.h:14
event_receive_func f
Definition event_manager.h:15
FuncSpec(event_receive_func f, void *d)
Definition event_manager.h:17
void * d
Definition event_manager.h:16