An open API service indexing awesome lists of open source software.

https://github.com/saber2pr/eventdispatcher-cpp


https://github.com/saber2pr/eventdispatcher-cpp

cpp event

Last synced: 17 days ago
JSON representation

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;
}
```