aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/event.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-04-04 18:23:00 +0800
committercrupest <crupest@outlook.com>2019-04-04 18:23:00 +0800
commitdbda5a8e4f0d59ad95be8fc3ee7b21e9122cc474 (patch)
treec8426a7aa086bf69b54b91328af0c160f933fa49 /include/cru/common/event.hpp
parent4d650160a388b0192e04c454ba1a3de21b0d4cc3 (diff)
downloadcru-dbda5a8e4f0d59ad95be8fc3ee7b21e9122cc474.tar.gz
cru-dbda5a8e4f0d59ad95be8fc3ee7b21e9122cc474.tar.bz2
cru-dbda5a8e4f0d59ad95be8fc3ee7b21e9122cc474.zip
...
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_++;