aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/event.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/common/event.hpp')
-rw-r--r--include/cru/common/event.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/cru/common/event.hpp b/include/cru/common/event.hpp
index 52d75a7b..763f8378 100644
--- a/include/cru/common/event.hpp
+++ b/include/cru/common/event.hpp
@@ -57,6 +57,12 @@ class Event {
return EventHandlerRevoker(EventHandlerRevokerImpl(event_resolver_, token));
}
+ EventHandlerRevoker AddHandler(EventHandler&& handler) {
+ const auto token = current_token_++;
+ handlers_.emplace(token, std::move(handler));
+ return EventHandlerRevoker(EventHandlerRevokerImpl(event_resolver_, token));
+ }
+
template <typename... Args>
EventHandlerRevoker AddHandler(Args&& args...) {
const auto token = current_token_++;