From 0483e951ade67989f762cfcd3796b261ffae41dd Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Fri, 3 Feb 2012 19:14:35 +0000 Subject: use memoryview instead of std::vector where applicable --- src/command_manager.hh | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'src/command_manager.hh') diff --git a/src/command_manager.hh b/src/command_manager.hh index 125db6e1..aa9e6818 100644 --- a/src/command_manager.hh +++ b/src/command_manager.hh @@ -2,13 +2,13 @@ #define command_manager_hh_INCLUDED #include -#include #include #include #include #include "utils.hh" #include "completion.hh" +#include "memoryview.hh" namespace Kakoune { @@ -20,7 +20,7 @@ struct wrong_argument_count : runtime_error wrong_argument_count() : runtime_error("wrong argument count") {} }; -typedef std::vector CommandParameters; +typedef memoryview CommandParameters; typedef std::function Command; @@ -31,23 +31,17 @@ class PerArgumentCommandCompleter { public: typedef std::function ArgumentCompleter; - typedef std::vector ArgumentCompleterList; + typedef memoryview ArgumentCompleterList; PerArgumentCommandCompleter(const ArgumentCompleterList& completers) - : m_completers(completers) {} - - PerArgumentCommandCompleter(ArgumentCompleterList&& completers) - : m_completers(completers) {} - - PerArgumentCommandCompleter(std::initializer_list completers) - : m_completers(completers) {} + : m_completers(completers.begin(), completers.end()) {} CandidateList operator()(const CommandParameters& params, size_t token_to_complete, size_t pos_in_token) const; private: - ArgumentCompleterList m_completers; + std::vector m_completers; }; class CommandManager : public Singleton @@ -69,10 +63,10 @@ public: unsigned flags = None, const CommandCompleter& completer = CommandCompleter()); - void register_command(const std::vector& command_names, - Command command, - unsigned flags = None, - const CommandCompleter& completer = CommandCompleter()); + void register_commands(const memoryview& command_names, + Command command, + unsigned flags = None, + const CommandCompleter& completer = CommandCompleter()); private: struct CommandDescriptor -- cgit v1.2.3