aboutsummaryrefslogtreecommitdiff
path: root/src/any_map.cpp
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-03-28 20:39:36 +0800
committerGitHub <noreply@github.com>2019-03-28 20:39:36 +0800
commitc45a6e62298e972f5945f5f3461ed723aea80317 (patch)
treef46ef303ee87a8e3814ea8743bd7062d432bfee3 /src/any_map.cpp
parentb028e74a48de181ca078ad3bf4ababf4fa146cd3 (diff)
parent37216f211b0e22205a3a0d3373d985fc68aea59b (diff)
downloadcru-c45a6e62298e972f5945f5f3461ed723aea80317.tar.gz
cru-c45a6e62298e972f5945f5f3461ed723aea80317.tar.bz2
cru-c45a6e62298e972f5945f5f3461ed723aea80317.zip
Merge pull request #37 from crupest/render
Refactor.
Diffstat (limited to 'src/any_map.cpp')
-rw-r--r--src/any_map.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/any_map.cpp b/src/any_map.cpp
deleted file mode 100644
index de13f85e..00000000
--- a/src/any_map.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "any_map.hpp"
-
-namespace cru
-{
- 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.
- }
- }
-}