Type-safe event dispatcher supporting multiple subscribers.
More...
#include <event.h>
|
| using | Callback = std::function<void(Args...)> |
| | The callback signature for subscribers.
|
template<typename... Args>
class contur::Event< Args >
Type-safe event dispatcher supporting multiple subscribers.
- Template Parameters
-
| Args | The argument types passed to subscribers when the event fires. |
Usage:
auto id = onProcess.
subscribe([](
int pid,
const std::string& name) {
std::cout << "Process " << pid << ": " << name << "\n";
});
onProcess.
emit(1,
"init");
SubscriptionId subscribe(Callback callback)
Registers a callback to be invoked when the event fires.
void emit(Args... args) const
Fires the event, invoking all registered callbacks with the given arguments.
bool unsubscribe(SubscriptionId id)
Removes a previously registered subscription.
Definition at line 31 of file event.h.
◆ Callback
template<typename... Args>
| using contur::Event< Args >::Callback = std::function<void(Args...)> |
The callback signature for subscribers.
Definition at line 35 of file event.h.
◆ Event() [1/3]
template<typename... Args>
◆ ~Event()
template<typename... Args>
◆ Event() [2/3]
template<typename... Args>
◆ Event() [3/3]
template<typename... Args>
◆ clear()
template<typename... Args>
Removes all subscribers.
Definition at line 91 of file event.h.
◆ emit()
template<typename... Args>
Fires the event, invoking all registered callbacks with the given arguments.
- Parameters
-
| args | The arguments to forward to each subscriber. |
Definition at line 76 of file event.h.
◆ operator=() [1/2]
template<typename... Args>
◆ operator=() [2/2]
template<typename... Args>
◆ subscribe()
template<typename... Args>
Registers a callback to be invoked when the event fires.
- Parameters
-
| callback | The function to call on emit(). |
- Returns
- A SubscriptionId that can be used to unsubscribe later.
Definition at line 51 of file event.h.
◆ subscriberCount()
template<typename... Args>
Returns the number of active subscribers.
Definition at line 85 of file event.h.
◆ unsubscribe()
template<typename... Args>
Removes a previously registered subscription.
- Parameters
-
- Returns
- true if the subscription was found and removed, false otherwise.
Definition at line 61 of file event.h.
◆ nextId_
template<typename... Args>
◆ subscribers_
template<typename... Args>
The documentation for this class was generated from the following file: