summaryrefslogtreecommitdiff
path: root/src/function_group.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-11-17 22:48:29 +0000
committerMaxime Coste <frrrwww@gmail.com>2013-11-17 23:06:40 +0000
commit2b9b161d424c1168636042adc6678bb3df2be3f9 (patch)
treee103e27252b1a83575f6c7b6820f44a47fb9ee4c /src/function_group.hh
parentc764fa7e2560fa86b5d931126fdaea830c3e6914 (diff)
remove idvaluemap, use unordered_map in place
Diffstat (limited to 'src/function_group.hh')
-rw-r--r--src/function_group.hh19
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;
};
}