https://github.com/saber2pr/eventdispatcher-cpp
https://github.com/saber2pr/eventdispatcher-cpp
cpp event
Last synced: 17 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/saber2pr/eventdispatcher-cpp
- Owner: Saber2pr
- Created: 2018-12-09T14:57:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-13T07:59:03.000Z (over 7 years ago)
- Last Synced: 2026-01-29T09:16:37.897Z (5 months ago)
- Topics: cpp, event
- Language: C++
- Size: 11.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# EventDispatcher-cpp
> Subscribe/Publish
```cpp
void EventDispatcher::addEventListener(string name, Listener listener){
Event event;
event.name = name;
event.listener = listener;
this->EventList.push_back(event);
}
void EventDispatcher::dispatchEvent(string name, Message value){
for_each(this->EventList.begin(), this->EventList.end(), [=](Event event){
event.name == name? event.listener(value): void();
});
}
void EventDispatcher::removeEventListener(string name){
vector event_filtered(this->EventList.size());
auto end = copy_if(this->EventList.begin(), this->EventList.end(), event_filtered.begin(), [=](Event event_cur){
return event_cur.name == name? false: true;
});
event_filtered.resize(distance(event_filtered.begin(), end));
this->EventList = event_filtered;
}
```