From 2b9b161d424c1168636042adc6678bb3df2be3f9 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Sun, 17 Nov 2013 22:48:29 +0000 Subject: remove idvaluemap, use unordered_map in place --- src/function_group.hh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src/function_group.hh') 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 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(function)); + m_functions.insert(std::forward(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() != nullptr; }); } private: - idvaluemap m_functions; + std::unordered_map m_functions; }; } -- cgit v1.2.3