aboutsummaryrefslogtreecommitdiff
path: root/src/util/any_map.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-21 22:22:53 +0800
committercrupest <crupest@outlook.com>2019-03-21 22:22:53 +0800
commitb514247f79469c15959b00ca3276879033f932ff (patch)
treeb5568daf09889fd43196627af4dcb4231589f2f4 /src/util/any_map.cpp
parent962dc18ee4827b464764ec3708be3d00a9143971 (diff)
downloadcru-b514247f79469c15959b00ca3276879033f932ff.tar.gz
cru-b514247f79469c15959b00ca3276879033f932ff.tar.bz2
cru-b514247f79469c15959b00ca3276879033f932ff.zip
...
Diffstat (limited to 'src/util/any_map.cpp')
-rw-r--r--src/util/any_map.cpp30
1 files changed, 0 insertions, 30 deletions
diff --git a/src/util/any_map.cpp b/src/util/any_map.cpp
deleted file mode 100644
index c49464d3..00000000
--- a/src/util/any_map.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "any_map.hpp"
-
-namespace cru::util {
-AnyMap::ListenerToken AnyMap::RegisterValueChangeListener(
- const String& key, const Listener& listener) {
- const auto token = current_listener_token_++;
- map_[key].second.push_back(token);
- listeners_.emplace(token, listener);
- return token;
-}
-
-void AnyMap::UnregisterValueChangeListener(const ListenerToken token) {
- const auto find_result = listeners_.find(token);
- if (find_result != listeners_.cend()) listeners_.erase(find_result);
-}
-
-void AnyMap::InvokeListeners(std::list<ListenerToken>& listener_list,
- const std::any& value) {
- auto i = listener_list.cbegin();
- while (i != listener_list.cend()) {
- auto current_i = i++;
- const auto find_result = listeners_.find(*current_i);
- if (find_result != listeners_.cend())
- find_result->second(value);
- else
- listener_list.erase(
- current_i); // otherwise remove the invalid listener token.
- }
-}
-} // namespace cru::util