diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-11-17 22:48:29 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-11-17 23:06:40 +0000 |
| commit | 2b9b161d424c1168636042adc6678bb3df2be3f9 (patch) | |
| tree | e103e27252b1a83575f6c7b6820f44a47fb9ee4c /src/function_group.hh | |
| parent | c764fa7e2560fa86b5d931126fdaea830c3e6914 (diff) | |
remove idvaluemap, use unordered_map in place
Diffstat (limited to 'src/function_group.hh')
| -rw-r--r-- | src/function_group.hh | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/function_group.hh b/src/function_group.hh index 739b7ffb..82e4fc7c 100644 --- a/src/function_group.hh +++ b/src/function_group.hh @@ -2,8 +2,10 @@ #define function_group_hh_INCLUDED #include "exception.hh" -#include "idvaluemap.hh" #include "string.hh" +#include "completion.hh" + +#include <unordered_map> namespace Kakoune { @@ -23,14 +25,14 @@ public: void append(FunctionAndId&& function) { - if (m_functions.contains(function.first)) + if (m_functions.find(function.first) != m_functions.end()) throw runtime_error("duplicate id: " + function.first); - m_functions.append(std::forward<FunctionAndId>(function)); + m_functions.insert(std::forward<FunctionAndId>(function)); } void remove(const String& id) { - m_functions.remove(id); + m_functions.erase(id); } FunctionGroup& get_group(const String& id) @@ -46,19 +48,20 @@ public: CandidateList complete_id(const String& prefix, ByteCount cursor_pos) const { - return m_functions.complete_id(prefix, cursor_pos); + return complete_key(m_functions, prefix, cursor_pos); } CandidateList complete_group_id(const String& prefix, ByteCount cursor_pos) const { - return m_functions.complete_id_if( - prefix, cursor_pos, [](const FunctionAndId& func) { + return complete_key_if( + m_functions, prefix, cursor_pos, + [](const FunctionAndId& func) { return func.second.template target<FunctionGroup>() != nullptr; }); } private: - idvaluemap<String, Function> m_functions; + std::unordered_map<String, Function> m_functions; }; } |
